Как наложить контурные графики на цветовые карты в gnuplot? - PullRequest
2 голосов
/ 01 февраля 2012

Я пытаюсь создать график цветовой карты набора данныхA с контурным графиком набора данных B, которые считываются из файлов.

Следующее успешно создает цветовую карту набора данныхA:

plot 'valuesA.dat' matrix with image

Я могу нарисовать контуры, как описано здесь .

Как я могу объединить два графика?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 15 августа 2014

Вот как я это сделал для массива размером 512x512 (например).Предположим, у меня есть файл данных A.dat, который должен использоваться для цветовой карты и B.dat для контуров.

  • Создайте таблицу из B.dat, содержащую данные контура, и сохраните ее во временнуюfile temp.dat.
  • Постройте цветовую карту, используя A.dat, и нанесите контурные линии из временного файла temp.dat в одной команде.

Вот мой код (несколько упрощенный для ясности):

# Set initial state
reset
set term X11
set palette @MATLAB    # see http://www.gnuplotting.org/matlab-colorbar-with-gnuplot/

# Create a file for contour data
set contour base
set cntrparam levels 25
set isosample 250,250
unset surface
set table "temp.dat"
splot "B.dat" binary array=512x512 format='%double'
unset table


# Plot the final results
set title "Contours and Colormap"
set size square
unset key
set xtics ('0' 0, '0.5' 255, '1.0' 511)   # Change these according to your dimensions
set ytics ('0' 0, '0.5' 255, '1.0' 511)   # Change these according to your dimensions

set cbrange [0.0:1.0]
set xlabel "X (scaled by height)"
set ylabel "Z (scaled by height)"


set terminal png
set output "output.png"
plot "A.dat" binary array=512x512 format='%double' with image, "temp.dat" with lines lt -1

Чтобы увидеть, как он выглядит, я использовал скриптовую версию этого кода для получения этот фильм (и другие) для моего исследования!

1 голос
/ 26 ноября 2013

Чтобы ответить на вопрос, он адресован на уловках gnuplot .

...