gnuplot:如何将绘图区域设置为像素完美的数据表示

时间:2012-02-21 09:39:26

标签: plot gnuplot

aliasing issue?

我很难让GNUplot正确呈现我的一些数据。基本上我有一些2D高度图数据(例如512×128个数据点),并且希望能够以“像素完美”方式(即每个数据点一个像素)绘制它。不幸的是,由于像素数量略大于数据点的数量,我得到了人工制品(见插图)。我知道我可以使用以下方法设置输出的总大小:

set terminal png size 800,400

但有没有办法只设置绘图区域大小(以像素为单位)?

谢谢!

1 个答案:

答案 0 :(得分:1)

在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

然而,这有一个缺点,你不会有tic标签等。您当然可以自己计算边距的值,以便它们最终与绘图大小匹配:使用

set lmargin at screen 0.25

例如。

无论如何,我还建议尽可能使用矢量图。