Gnuplot,如何在键标题中包含空格字符?

3

我想在从文件读取数据时,在gnuplot 4.4图表中使用类似于“最佳F”“最差F”这样的关键标题,但我不知道如何加空格,例如:

Generation Best_F Worst_F Average_F
     5        4     9         5
     4        3     9         4

我尝试将文件命名为"Best F"、"Best%20F"或者"Best\ F",但是当作为列标题读取时,它们会被分割,或者出现难看的"%20"。

plot for[col=2:4] data.dat using 1:col title columnheader(col)

还有没有一种方法可以进行字符替换,比如"Best_F"%" "->"Best F"? replace("_", "\ ", columheader(col))?

我正在使用终端wxt和pngcairo(没有latex)。


2
你能发一个脚本的例子吗?我使用gnuplot 4.2.6 wxt终端进行了快速测试,plot x title "Best F"没有任何问题。 - andyras
但它们会被分割。您能详细说明吗?这是什么意思? - mgilson
问题在于标题是从文件中读取的,它们是列标题。 - Blackzafiro
2个回答

7

根据手册中的Datastrings部分(这是一个旧版本,但不幸的是后来的版本没有发布HTML),数据文件中的字符串用双引号括起来。如果我将您的示例数据文件修改为这样,在启用数据字符串的gnuplot 4.6补丁级别1下运行时,就会得到带有空格的标题。

Generation "Best F" "Worst F" "Average F"
     5        4     9         5
     4        3     9         4

程序:

plot for[col=2:4] "data.txt" using 1:col title columnheader(col)

输出摘录:

在此输入图片描述


哇,谢谢。我怀疑第一次尝试时我可能写成了“Best F”而不是“Best F”。它可以使用双引号正常工作,但不能使用单引号 :)。 - Blackzafiro

0

使用增强型Postscript,您可以创建可变宽度的空格:

Generation Best&{x}F Worst&{x}F Average&{x}F
     5        4         9           5
     4        3         9           4

您可以将x替换为所需长度的字符串。 但是,这需要一个允许使用终端的环境。

set termoption enhanced

如果你想使用awk根据文件头处理文件,并且基于列标题在gnuplot中自动标记它们,那么这将非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接