Gnuplot - построение точек данных на двухмерном контурном графике

Я хочу нанести несколько точек данных ( M_Coord_Plain.txt) на двухмерную контурную проекцию (которая создается данными из Contours.txt).

Я нашел похожие ответы на эти посты: Как пометить некоторые точки на 2D-карте тепла в gnuplot?, Наложение точек на карту pm3d?, но, к сожалению, это не работает в моем случае.

Сначала я установил параметры:

set pm3d explicit   
unset surface     # Switch off the surface    
set view map      # Set a bird eye (xy plane) view    
set contour       # Plot contour lines    
set key outside    
set cntrparam cubicspline   # smooth out the lines    
unset colorbox

и затем я строю график с помощью команды splot:

splot 'Contours.txt' using 1:2:3 notitle with pm3d,\
'M_Coord_Plain.txt' with points nocontour using 1:2:(0) pt 7

Полученный график представляет собой только контурную 2D-проекцию, но без точек и без ошибок.

Я использую Gnuplot 5.0 patchlevel 3 на Ubuntu 16.04LTS.

1 ответ

Решение

В конце концов это сработало, но необходимо было внести следующие изменения:

  1. Включите пробел между каждой строкой в ​​файле данных точек (M_Coord_Plain.txt), поскольку команде splot необходим этот формат.
  2. Удалите команду unset surface и замените ее командой set surface, потому что точки данных нанесены на поверхность. Однако это приводит к тому, что точки кажутся неопределенными, поскольку соответствующий цвет для нулевого значения (определенный третий столбец:(0)) по умолчанию темно-фиолетовый.
  3. Таким образом, мы можем использовать черно-белую цветовую палитру и определить широкий диапазон цветов, чтобы иметь большой контраст между нулевым и высоким значениями контура.

Итак, команды для построения запрошенного графика:

set pm3d explicit
set surface
set view map  # Set a bird eye (xy plane) view
set contour  # Plot contour lines
set key outside
set cntrparam cubicspline  # Smooth out the lines
set cntrparam levels discrete 3.197,3.552  # Plot the selected contours
unset colorbox
set cbrange [0:7000]  # Set the color range of contour values.
set palette model RGB defined ( 0 'white', 1 'black' )
set style line 1 lc rgb '#4169E1' pt 7 ps 2
splot 'Contours.txt' using 1:2:3 with pm3d notitle,\
      'M_Coord_Plain.txt' using 1:2:(0) with points ls 1 notitle

В результате сюжет таков.

Другие вопросы по тегам