如何访问Gnuplot的(自动)范围值并修改它们以增加一些余量?

Mat*_*ias 18 gnuplot

使用标准绘图命令,我得到,我想要的除了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_MAXGPVAL_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

  • `set offsets graph 0,0,0.05,0.05`也会做同样的事情. (10认同)