2015-11-17 4 views
2

Я пытаюсь построить две карты тепла с данными из двух файлов данных с помощью gnuplot. Раньше я планировал карты тепла с использованием gnuplot, но никогда не пытался «наложить их».Запланировать многократные карты тепла gnuplot

Моя попытка выглядит следующим образом:

set terminal pngcairo 
    set xrange[-2:2] 
    set yrange[-2:2] 
    unset surface 
    set view map 
    set pm3d  
    set size square 
    set key outside 
    set pm3d depthorder 
    splot "file_1" u 1:2:3 w pm3d notitle, \ 
    "file_2" u 1:2:3 w pm3d notitle 

Это производит следующий вывод:

Contour plot

Там есть слабое кольцо, которое соответствует одному из файлов данных, но это не то, что желательно. Удалив карту вы можете увидеть, что выглядит данные, как:

Double ring 3D plot

Так первый сюжет нанесены на внешнюю, нижнее кольцо, но, кажется, не нанесены на внутреннюю повыше кольцо, даже если он зарегистрировал свою шкалу , То, что я ищу, - это взгляд на этот второй сюжет сверху.

Манипулируя вид этого 3-D сюжет, я могу это сделать:

Third plot

но есть способ, чтобы получить сверху вниз вид этого участка без необходимости устанавливать вид, и просто используя команды вида и команды splot? Метод просмотра выглядит не так хорошо, и я хотел бы знать, почему он не ведет себя так, как ожидалось.

Спасибо заранее

+0

Это довольно трудно исследовать, что происходит не так здесь без реальных файлов данных. Можете ли вы загрузить их где-нибудь (не здесь)? Кстати: это не контурные сюжеты – Christoph

+0

Благодарим вас за ответ Christoph. Я ленился с моей маркировкой и менял «контурный график» на более подходящую этикетку. Сначала они были контурными сюжетами, но с проектом изменились. Вы рекомендуете место для загрузки файлов данных? Я не включил их в исходный пост, так как они содержат более 30 000 точек данных каждый, поэтому подумал, что сначала попробуем «может быть быстрый метод исправления»! – Yeti

+0

Вы можете попробовать 'set pm3d map' и удалить часть' view'. Или попробуйте обменять порядок обоих файлов. Я сам не использовал сайт для загрузки, но я видел людей, использующих http://pastebin.com/ – Christoph

ответ

2

В то же время, что ошибка будет исправлена ​​вы можете использовать следующий метод обхода:

max(a,b)=(a>b)?a:b 
splot "<paste file_1 file_2" u 1:2:(max($3,$6)) w pm3d notitle 

Потому что в этом случае глубина упорядочения эквивалентно сортировки значений Z.

enter image description here

+0

Спасибо за ответ :) Это отлично работает. – Yeti