Gnuplot:如何绘制最大值和/或最小值

Gen*_*man 4 gnuplot max minimum

我怎样才能显示最大值 和/或分钟.图中图表在适当位置的值是自动的吗?

Chr*_*oph 7

您可以使用该stats命令"半自动"执行此操作.此命令可以从数据集中提取一些统计值,但需要进行一些重写:

  1. 提取最小和最大y值,假设您的数据文件有两列,第一列中的x值,第二列中的y值

    stats 'file.dat' using 2 nooutput name 'Y_'
    
    Run Code Online (Sandbox Code Playgroud)

    这使您的最小/最大Y值的变量Y_minY_max,但不对应的x值.

  2. 上一步仅为您提供相应的索引,这需要您stats再次运行以获取x值:

     stats 'file.dat' using 1 every ::Y_index_min::Y_index_min nooutput
     X_min = STATS_min
     stats 'file.dat' using 1 every ::Y_index_max::Y_index_max nooutput
     X_max = STATS_max
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在相应坐标处设置标签和/或点

    set label 1 sprintf("%.2f", Y_min) center at first X_min,Y_min point pt 7 ps 1 offset 0,-1.5
    set label 2 sprintf("%.2f", Y_max) center at first X_max,Y_max point pt 7 ps 1 offset 0,1.5
    ...
    plot ...
    
    Run Code Online (Sandbox Code Playgroud)

  • @gaoithe是的,我知道.对于时间数据,您必须使用2 nooutput name'Y_'执行类似`stats'file.dat'的操作; 设置timefmt'%H:%M:%S'; stats'file.dat'使用(timecolumn(1))every :: Y_index_min :: Y_index_min noutput; ...; 设置xdata时间; 情节...` (2认同)