【问题标题】:Is it possible to get the values for de y-axis in gnuplot?是否可以在 gnuplot 中获取 de y 轴的值?
【发布时间】:2014-12-03 04:25:18
【问题描述】:

我需要 gnuplot 计算的 y 值。我如何获得这些值。 在本例中,de 的值为 100 和 -700。

我查看了所有默认变量 gnuplot 但找不到它。

让我试着解释一下:

先举个例子

在这里你可以看到问题。在可能的情况下,我将列中的偏移量设置为白色,并在列中设置为黑色。但这当然取决于价值观 y-min 和 y-max。我想,当我有这些值时,我可以计算偏移量。 现在我只有一个硬值;

"<tail -60 log.txt" u 1:(-($12)):($12>300 ? (-$12) : sprintf("")) w labels left font ",10" tc rgb "white" rotate offset 0,0.2 notitle,\
"<tail -60 log.txt" u 1:(-($12)):(($12<=300 && $12>0) ? (-$12) : sprintf("")) w labels left font ",10" tc rgb "black" rotate offset 0,-1.7 notitle,\

也许有什么技巧或其他解决方案?

这里的例子号 3. 我试过了:

set terminal unknown
plot "<tail -60 log.txt" using 9:12
print  GPVAL_Y_MAX, GPVAL_Y_MIN
replot

我得到的值是:650,0 150,0,它们是 第 12 列的值,没关系,但不是 y 轴的值,并且仅低于零。 (见示例 3) 我有什么错误或不明白的地方?

【问题讨论】:

  • 这种情况非常棘手,因为定位不仅取决于 y 值,还取决于所选字体、字体大小、绝对绘图大小等。我不确定你是否可以工作出一个普遍适用的解决方案。如果拥有 y-max 和 y-min 值会对您有所帮助,那么您仍然必须使用我在解决方案中提出的方法来获取这些值。但是您不需要运行完整的脚本。可能只使用plot 'file.txt' u 1:(-$12) w p, '' u 1:11 w p 就足以获取信息。
  • 克里斯托夫,你给我指路,我找到了(我的)解决方案; set terminal unknown plot '&lt;tail -60 log.txt' using ($9), '&lt;tail -60 log.txt' using (-$12) y_above_zero = GPVAL_Y_MAX y_below_zero = GPVAL_Y_MIN print y_above_zero, y_below_zero replot 给出了完美的值,再次感谢。现在我将尝试计算偏移量。再次感谢。

标签: gnuplot unique-values


【解决方案1】:

这些值是 gnuplot 自动缩放的结果。只有在通过变量GPVAL_Y_MINGPVAL_Y_MAX(在绘图后键入show variables all 以查看所有可用变量)进行绘图之后,您才能访问这些值。

如果您在绘图中需要这些值,您必须先绘制到unknown 终端,然后再绘制到您的实际终端:

set terminal unknown
plot 1.01*x

set terminal wxt enhanced
set label left at graph 0.1,0.9 sprintf('y_{max} = %.2f', GPVAL_Y_MAX)
replot

【讨论】:

  • 那我就麻烦了,我需要这些值来计算标签的偏移量。
  • 好吧,那么你应该描述你的实际问题。您知道,您可以使用不同的坐标系来定位标签吗? stackoverflow.com/a/23180595/2604213
猜你喜欢
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多