Gnuplot: Как построить точки с помощью pm3d? - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу построить файл данных с 16 заданными точками, используя pm3d в gnuplot, но я также хочу, чтобы все эти заданные точки были показаны на графике. Вот так выглядит мой файл данных (xyz.dat):

# X     Y     Z
  0     0     0.632  
  0     5     0.46
  0     10    0.37
  0     50    0.41
  5     0     0.95
  5     5     0.66
  5     10    0.59
  5     50    0.5
  10    0     1.5
  10    5     0.96
  10    10    0.77
  10    50    0.5
  50    0     1.5
  50    5     1.5
  50    10    1.5
  50    50    0.98

Вот мой код:

 set ticslevel 0  
 set dgrid3d 30,30  
 set palette defined (0 "blue", 0.75 "white", 1.4 "red")  
 set style lines 100 lt 5 lw 0.5  
 set pm3d hidden3d 100  
 set grid  
 set view 74,216  
 unset key  
 splot 'xyz.dat' using 1:2:3 with pm3d

Это дает следующий вывод:

выход

Я действительно рад этому результату, но я хочу сделать эти 16 заданных точек из файла данных отчетливо видимыми на этом графике, но я становлюсь чем-то вроде этого:

Выходы с точками

Я хочу, чтобы эти 16 баллов (и только эти 16 баллов) были четко показаны на картинке «Вывод», но я не знаю, как изменить свой код для этого. Заранее спасибо!

1 Ответ

0 голосов
/ 14 сентября 2018

Сложность, с которой вы сталкиваетесь, связана не с pm3d, а с тем, что вы включили автоматическую генерацию поверхностей с сеткой с помощью команды set dgrid3d. Любой стиль заговора, который может стать поверхностью, пойман этим Вы можете обойти это, используя неповерхностный стиль печати, такой как with labels. Конечно, у вас нет фактического текста метки, но вы все равно можете нарисовать точку, обозначающую положение метки. Ваша команда заговора становится

splot 'xyz.dat' using 1:2:3 with pm3d, \
      'xyz.dat' using 1:2:3:("") with labels point pt 7
...