1

我使用 Perl 脚本通过将heredoc 管道传输到 Gnuplot(版本 4.6 补丁级别 3)来制作多个图表。我在以所需方式定义标签时遇到了一些问题。我想要:

  • 在标签中包含具有格式定义的变量 ( sprintf)
  • 对不同的图使用不同的标签
  • 在框中显示标签并将它们显示在前面

我不知道如何定义格式说明符,我还查看了标签 docu1 [链接未正确解释]标签 docu2这篇文章展示了一种如何定义盒子的复杂方法,并且必须为每个标签进行设置。

很抱歉,不仅发布了一个确切的问题,而且它们都与标签样式有关。

到目前为止我的 Gnuplot 测试:

set style line 1 lt 1 lw 1 lc rgb "#FF4500"
set label 1 'Var1 = sprintf("%5.3f",$Var1)' at graph 0.8, graph 0.95 front font 'Times-Roman,10'
plot "file.dat" u 1:2 ls 1

我的问题:

  • sprintf 不在输出中解释。
  • 我不能像使用不同的ls(线条样式)一样使用不同的标签。
  • 必须以复杂的方式为每个标签定义标签的装箱框。

提前谢谢!

4

1 回答 1

1

好的,让我们看看如何排序:

使用sprintf这样的作品:

set label 1 sprintf("Var1 = %5.3f",Var1) at ...

或者

set label 1 'Var1 = '.sprintf("%5.3f", Var1) at ...

盒装标签仅在当前开发版本 4.7 中受支持。您可能会滥用密钥来获取盒装标签(如果您不需要它):

set key opaque box samplen -1 at graph 0.8, graph 0.95 font 'Times-Roman,10'
plot 'file.dat' using 1:2 ls 1 title sprintf('Var1 = %5.3f', Var1)
于 2013-09-11T11:12:18.797 回答