Я пытаюсь сгенерировать тепловую карту как график из данных. Данные приведены в виде
# x y f(x,y)
1.02 0.98 23.943
1.99 0.99 24.05
.99 2.01 22.00
...
и на нем нет реальной сетки, это просто случайные точки и их конкретное значение. В противном случае я мог бы использовать такие вещи, как image
, насколько я понимаю.
Чтобы проиллюстрировать мою проблему, я создал файл данных для 2d гауссовского пика (см. pastebin ). Иллюстрированные данные:
Теперь строим это, используя
set view map
set dgrid3d 50,50,2
set pm3d at b
unset key
unset surface
splot "data.txt" # using 2d gauss data as example
дает мне сюжет, подобный следующему:
Чего я не понимаю, так это пробелов между цветной поверхностью и фактической границей графика. Здесь показано внизу, сверху, справа и слева. Даже если я увеличу до диапазонов, где поверхность должна быть создана с помощью dgrid3d
, пробелы все еще остаются с разной шириной.
Попытка построить сейчас (с настройками выше)
set isosample 100,100
splot exp(-x**2 -y**2)
дает мне график, который заполняет всю область построения. Неважно, насколько далеко я увеличу или уменьшу масштаб. Никакие пробелы нигде не появляются. См:
Я нашел этот пост здесь ( Раздражающий интервал в цветовых картах gnuplot pm3d ), где op ответил, что даже при построении функции пробелы остаются:
Я только что попытался построить простой опыт (-x²), но разрыв все еще есть. : / - каменная птица 6 июня '16 в 10: 31
Однако он мог бы решить эту проблему, определив очень специфический диапазон для значений x
и y
. Но это не работает для меня, так как очень трудно определить, для каких значений это действительно работает.
Существует ли возможность создания тепловой карты, такой как график, из точек данных, которые заполняют всю область построения?
Использование уровня исправлений gnuplot 5.0 6