
На рисунке ниже вы можете видеть линии, проходящие через интерполированную поверхность. Как мне предотвратить это? Я создал график с помощью следующих команд ("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