Gnuplot - Исправление интерполяции сквозных 3D-графиков

Gnuplot - Исправление интерполяции сквозных 3D-графиков

На рисунке ниже вы можете видеть линии, проходящие через интерполированную поверхность. Как мне предотвратить это? Я создал график с помощью следующих команд ("data.txt" содержит набор точек, представляющих поверхность sin(x^2+y^2)/(x^2+y^2):

set pm3d interpolate 0,0
set dgrid3d 30,30
splot "data.txt" with lines

введите описание изображения здесь

решение1

Я не эксперт по Gnuplot, но, глядя надокументацияНа странице 161 показана set style fillкоманда.

В документации говорится:

Стиль заполнения по умолчанию:пустой.твердыйопция вызывает заливку сплошным цветом, если терминал поддерживает это. Параметр определяет интенсивность цвета заливки. При значении 0,0 поле пустое, при значении 1,0 внутренняя область имеет тот же цвет, что и текущий тип линии. Некоторые типы терминалов могут изменять плотность непрерывно; другие реализуют только несколько уровней частичной заливки. Если параметр не указан, по умолчанию используется значение 1.

В вашем случае, я полагаю, вы хотите команду, которая находится вдоль линии set style fill transparent 1или set style fill solid 1. Вам нужно будет посмотреть, как они оба выглядят, и выбрать тот, который лучше. Вы также можете поиграться со значением альфа и попробовать что-то вроде 0,85, чтобы увидеть, выглядит ли это лучше, чем полностью сплошная заливка.

решение2

Есть способы, которые вы можете попробовать и проверить, соответствуют ли они вашим потребностям.

set pm3d depthorder

или

set hidden3d ...

Более подробные примеры:Демонстрационный скрипт gnuplot: hidden2.dem

Связанный контент