使用标准绘图命令,我得到,我想要的除了yrange自动设置从(例如)275到300.
不幸的是,我有几个y坐标为300的数据点,因此它们不可见(由于边界线等).
那么,有没有办法设置最大值yrange,使其始终是最大数据加上例如5个单位?
使用时autoscale,yrange设置为275:300.将范围明确设置为275:305将适用于一个数据文件,但不适用于其他数据文件.所以我需要一些通用方法来确定最大数据点并设置yrange更大的数据.
Sun*_* Jo 23
set offsets <left>, <right>, <top>, <bottom>
Run Code Online (Sandbox Code Playgroud)
会做.请注意,比例遵循数据比例,因此最终将取决于您要绘制的数据.或者,您可以使用set offsets graph ...绘图大小的分数代替.
小智 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