gnuplot: как настроить область построения графиков для точного представления данных с точки зрения пикселей - PullRequest
2 голосов
/ 21 февраля 2012

aliasing issue?

У меня проблемы с получением GNUplot для правильной визуализации некоторых моих данных. По сути, у меня есть некоторые данные 2D-карты высот (например, 512 x 128 точек данных), и я хотел бы иметь возможность отображать их «идеальным образом» (то есть один пиксель на точку данных). К сожалению, в данный момент я получаю артефакты (см. Вставку) из-за того, что количество пикселей немного больше, чем количество точек данных. Я знаю, что могу установить общий размер вывода, используя:

set terminal png size 800,400

но есть ли способ установить только размер области графика в пикселях?

Спасибо!

1 Ответ

1 голос
/ 22 марта 2012

С помощью терминала lua / TikZ (есть опция plotsize) предлагается удалить поля графика, чтобы график заполнил весь холст.

set lmargin 0
set rmargin 0
set tmargin 0
set bmargin 0
set terminal png size 512,128
set out 'out.png'
# a checkerboard pattern to test the plot results for errors
f(x,y)=( (x<=0) || (x>=63) || (y<=0) || (y>=63) ) ? 0.5 : ((x+y)%2==0)?0:1
# the 'map' file contains only coordinates.
plot[-1:63][0:64] 'map' u 1:2:(f($1,$2)) with image
unset out

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

set lmargin at screen 0.25

.

В любом случае, я бы также порекомендовал перейти квекторная графика, когда это возможно.

...