Gnuplot版本5.4 patchlevel 1:使用单个标题绘制多个数据集(图例条目)[在版本5.4.2中解决]

Gnuplot版本5.4 patchlevel 1:使用单个标题绘制多个数据集(图例条目)[在版本5.4.2中解决],gnuplot,title,Gnuplot,Title,[编辑:以下问题出现在Gnuplot版本5.4.1中。它已在Gnuplot版本5.4.2中解决] 我想画几条线。但是,我希望它们都具有相同的样式,并在图例中创建一个条目 当我使用 splot '-' with lines 用这些数据 0.0 0.0 0.0 0.1 0.1 0.1 0.0 0.1 0.0 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.2 0.3 e 一切都如我所料。正如预期的那样,任何样式都将应用于所有线 但是如果我尝试添加一个标题 splot '-' wi

[编辑:以下问题出现在Gnuplot版本5.4.1中。它已在Gnuplot版本5.4.2中解决]

我想画几条线。但是,我希望它们都具有相同的样式,并在图例中创建一个条目

当我使用

splot '-' with lines
用这些数据

0.0 0.0 0.0
0.1 0.1 0.1
0.0 0.1 0.0


0.2 0.2 0.2
0.3 0.3 0.3
0.3 0.2 0.3
e
一切都如我所料。正如预期的那样,任何样式都将应用于所有线

但是如果我尝试添加一个标题

splot '-' with lines title "myTitle"
将在图例中为每个项目生成一个条目

我怎样才能有一个图例条目

[注意,数据集之间需要两条换行,因为我需要不同的行,而不是网格] [我使用的是Gnuplot版本5.4 patchlevel 1]


谢谢

好的,我使用gnuplot 5.2.6进行了测试,在那里你看不到这种行为。漂亮,奇怪。我不知道为什么会发生变化。 使用gnuplot 5.4,您可以解决以下问题。检查帮助键输入

代码:

### only one key for a dataset separated by two empty lines
reset session

$Data <<EOD
0.0 0.0 0.0
0.1 0.1 0.1
0.0 0.1 0.0


0.2 0.2 0.2
0.3 0.3 0.3
0.3 0.2 0.3
EOD

splot $Data    w l ls 1 notitle, \
      keyentry w l ls 1 title "only one title"
### end of code
结果:

### only one key for a dataset separated by two empty lines
reset session

$Data <<EOD
0.0 0.0 0.0
0.1 0.1 0.1
0.0 0.1 0.0


0.2 0.2 0.2
0.3 0.3 0.3
0.3 0.2 0.3
EOD

splot $Data    w l ls 1 notitle, \
      keyentry w l ls 1 title "only one title"
### end of code

在这种情况下,创建重复的键条目是预期更改的意外结果。看见对于plot命令通过提供带引号的字符串请求标题的特定情况,旧的行为将在5.4.2版中恢复-即使绘制了多个数据集,也只能在键中获得一个条目

仅供参考-引入此更改是因为现在可以为文件中的每个数据集生成不同的标题。但是,拥有多个相同的标题并不是特别有用。预期用途如图所示

plot 'file.dat' using 1:2 title sprintf("Data set %d", column(-2))
其中
列(-2)
返回此数据集的索引号。在早期的gnuplot版本中,您必须显式地迭代索引号

plot for [index=1:*] 'file.dat' using 1:2 title sprintf("Data set %d",index)

在5.4.2版中显示结果的更新

### only one key for a dataset separated by two empty lines
reset session

$Data <<EOD
0.0 0.0 0.0
0.1 0.1 0.1
0.0 0.1 0.0


0.2 0.2 0.2
0.3 0.3 0.3
0.3 0.2 0.3
EOD

set title sprintf("Gnuplot version %.1f.%s", GPVAL_VERSION, GPVAL_PATCHLEVEL)

splot $Data with lines title "myTitle"
### end of code
####对于由两个空行分隔的数据集,只有一个键
重置会话

$Data我无法复制。您正在使用哪个gnuplot版本?请编辑您的问题并添加结果图。我更新了问题。谢谢非常感谢。很遗憾,我们需要重写两行中的所有格式选项。@marco我希望有更好的解决方案。。。我真的不知道这背后的原因是什么。。。。好吧,也许有一个稍微好一点的解决方案,请参阅编辑后的答案。感谢您的有用说明。在这种情况下,我不会实施任何临时解决方案,而是等待下一个版本。亲爱的@Ethan,如果我没有弄错的话,5.4.2已经发布了,但是新的行为仍然存在。从你的回答来看,我想你是发达国家之一(在这种情况下,你干得不错!)。你知道计划是否仍然存在,以恢复到原来的行为?如果没有,我将修改我的代码。谢谢在5.4.2中固定。见新答案。