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 ответ
Решение
В конце концов это сработало, но необходимо было внести следующие изменения:
- Включите пробел между каждой строкой в файле данных точек (M_Coord_Plain.txt), поскольку команде splot необходим этот формат.
- Удалите команду unset surface и замените ее командой set surface, потому что точки данных нанесены на поверхность. Однако это приводит к тому, что точки кажутся неопределенными, поскольку соответствующий цвет для нулевого значения (определенный третий столбец:(0)) по умолчанию темно-фиолетовый.
- Таким образом, мы можем использовать черно-белую цветовую палитру и определить широкий диапазон цветов, чтобы иметь большой контраст между нулевым и высоким значениями контура.
Итак, команды для построения запрошенного графика:
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
В результате сюжет таков.