使用标准绘图命令,我得到了,我想要的是yrange
自动设置(例如)275到300。
不幸的是,我有几个y坐标为300的数据点,因此它们不可见(由于边界线等)。
那么,有没有办法设置最大yrange
,使其始终是最大数据加上,例如5个单位?
使用autoscale
,yrange
设置为275:300。将范围明确设置为275:305将适用于一个数据文件,但不适用于其他数据文件。所以我需要一些通用方法来确定最大数据点并将yrange
设置得更大。
答案 0 :(得分:23)
set offsets <left>, <right>, <top>, <bottom>
会做的。请注意,比例遵循数据比例,因此最终将取决于您要绘制的数据。或者,您可以使用set offsets graph ...
来改变绘图大小的一部分。
答案 1 :(得分:11)
有Gnuplot定义的值GPVAL_Y_MAX
和GPVAL_DATA_Y_MAX
(还有GPVAL_Y_MIN
,GPVAL_DATA_Y_MIN
...)。绘图后,最大值将存储在这些值中。因此,您可以绘制数据,然后set yrange GPVAL_Y_MAX+(GPVAL_Y_MAX-GPVAL_Y_MIN)*0.05
。此时,您第二次绘制数据。这次你得到你想要的东西。以下是我的代码。
reset plot "data.dat" u 1:2 #To get the max and min value MAX=GPVAL_Y_MAX MIN=GPVAL_Y_MIN set yrange [MIN-(MAX-MIN)*0.05:MAX+(MAX-MIN)*0.05] #Add a fixed value is not a good idea, so I use a relative one set term png set output "out.png" plot "data.dat" u 1:2 w p notitle #This plot will create a file #named out.png which is waht you want.
我从这篇文章中学到了这个方法 - http://gnuplot-surprising.blogspot.com/2011/09/advanced-background-color-1.html