如何访问 Gnuplot 的(自动)范围值并修改它们以添加一些边距?

发布于 2024-12-03 16:47:39 字数 302 浏览 1 评论 0原文

使用标准绘图命令,我得到了我想要的,除了 yrange 被自动设置为从(例如)275 到 300。

不幸的是,我有几个 y 坐标为 300 的数据点,这样它们不可见(由于边界线等)。

那么,有没有办法设置最大yrange,使其始终是最大数据加上例如5个单位?

使用自动缩放yrange 设置为 275:300。明确将范围设置为 275:305 将适用于一个数据文件,但不适用于其他数据文件。因此,我需要一些通用方法来确定最大数据点并将 yrange 设置得更大。

Using the standard plot command, I get, what I want except that the yrange is set automatically from (eg) 275 to 300.

Unfortunately, I have several data points with y-coordinate 300, such that they are not visible (due to border lines, etc.).

So, is there any way to set the maximum yrange such that it is always the maximum data plus e.g. 5 units?

Using autoscale, the yrange is set to 275:300. Setting explicitly the range to 275:305 would work for one data file but not for others. So I need some generic method to determine the max-data point and set the yrange larger.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妄断弥空 2024-12-10 16:47:39
set offsets <left>, <right>, <top>, <bottom>

会做。请注意,比例遵循数据比例,因此最终取决于您要绘制的数据。或者,您可以使用 set offsets graph ... 来使用绘图大小的分数。

set offsets <left>, <right>, <top>, <bottom>

will do. Note the scale follows the data scale, so it will eventually depend on the data you want to plot. Alternatively, you can use set offsets graph ... to use fraction of the plot size instead.

世界和平 2024-12-10 16:47:39

Gnuplot 定义了值 GPVAL_Y_MAXGPVAL_DATA_Y_MAX(还有 GPVAL_Y_MINGPVAL_DATA_Y_MIN ...)。绘图后,最大值将存储在这些值中。因此,您可以绘制数据,然后设置 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

There are Gnuplot defined values GPVAL_Y_MAX and GPVAL_DATA_Y_MAX (also GPVAL_Y_MIN, GPVAL_DATA_Y_MIN ...). After your plot, the maximum value will be stored in these values. So you can plot your data then set yrange GPVAL_Y_MAX+(GPVAL_Y_MAX-GPVAL_Y_MIN)*0.05. At this time you plot you data for the second time. This time you just get what you want. The following is my code.

    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.

I learned the method from this article--http://gnuplot-surprising.blogspot.com/2011/09/advanced-background-color-1.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文