【问题标题】:Setting gnuplot yrange to fit one curve only将 gnuplot yrange 设置为仅适合一条曲线
【发布时间】:2023-03-14 12:32:02
【问题描述】:

我有一个 Gnuplot 脚本,可以从数据文件中绘制 2 条曲线。如果我没有指定 yrange,Gnuplot 会设置它,以便两条曲线的所有点都适合图中。就我而言,我希望 Gnuplot 只关心其中一条曲线(另一条曲线是否超出范围并不重要,因为我只对第二条曲线接近第一条曲线的部分感兴趣)。

我可以找出第一条曲线所取的最小值和最大值,并手动将 yrange 设置为这些值,但我的 Gnuplot 脚本旨在在许多数据文件上自动运行,生成许多 yrange 不相同的数字,所以我正在寻找一种自动执行此操作的方法。

谢谢

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    有不同的选项,取决于使用的 gnuplot 版本:

    5.0 版:

    应该从自动缩放中排除的数据文件获得noautoscale参数:

    plot 'first.dat' using 1:2, 'second.dat' using 1:2 noautoscale
    

    版本 >= 4.6:

    使用stats命令获取相关数据文件的最小值和最大值:

    stats 'first.dat' using 1:2
    set yrange [STATS_min_y:STATS_max_y]
    plot 'first.dat' using 1:2, 'second.dat' using 1:2
    

    至少从 4.0 开始:

    使用set yrange [] writeback 保存来自绘图命令的自动缩放范围,并使用set yrange restore 将它们用于以后的绘图:

    set terminal push
    set terminal unknown
    
    set yrange [] writeback
    plot 'first.dat' using 1:2
    
    set yrange restore
    set terminal pop
    plot 'first.dat' using 1:2, 'second.dat' using 1:2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多