我正在使用C ++来传输Gnuplot脚本。但我觉得处理纵横比和纸张尺寸非常烦人。有没有人有一个好的方法:
(1)保持宽高比正确,长度1为1,曲线2为2。我发现纵横比取决于纸张尺寸!!!
(2)零边距纸张,纸张尺寸将自动缩放。我发现eps数字总是有很大的优势。
set terminal postscript eps enhanced color font 'Helvetica,2000' size 640,480
set output 'grid.eps'
set size 1, 1
set hidden3d
unset key
unset tics
unset border
set view 0,0,1,1
set xrange [0:3]
set yrange [0:6]
set zrange [0:1]
set title 'grid test'
splot 'grid.dat' using 1:2:3 with lines lt 2 lc rgb '#100000'
grid.dat
档案:
0 0 0
1 0 0
2 0 0
3 0 0
0 2 0
1 2 0
2 2 0
3 2 0
0 4 0
1 4 0
2 4 0
3 4 0
0 6 0
1 6 0
2 6 0
3 6 0
通过说纵横比正确,我的意思是我希望情节看起来像一个2:1的矩形网格,而不是像方形或其他任何东西。我不希望这个数字被拉伸。
答案 0 :(得分:1)
如果我理解正确,您需要设置绘图的宽高比。要做到这一点,你想使用类似的东西:
set size ratio ASPECT_RATIO
这将使得y轴的长度除以x轴的长度(以图形为单位)为ASPECT_RATIO
。如果您希望以图表单位确定比率,那么您将使用ASPECT_RATIO
的负数。
答案 1 :(得分:1)
这是诀窍,假设我们有以下通用脚本:
set terminal postscript eps enhanced color font 'Helvetica,20' size Lx,Ly
set xrange [XMIN:XMAX]
set yrange [YMIN:YMAX]
首先,将XMIN和XMAX以及YMIN和YMAX设置为图的最小值和最大值。
然后,设置Lx
,比如说Lx = 100
,然后将Ly
设置为floor(100*(YMAX-YMIN)/(XMAX-XMIN)))
。
在此之后,可以使用一些shell脚本来删除边距。