如何在gnuplot中设置带有列标题的轴标签?

如何在gnuplot中设置带有列标题的轴标签?,gnuplot,columnheader,Gnuplot,Columnheader,我的问题很简单。假设我有一个带有列标题的数据文件,如下所示 first second 1 1 2 1 3 6 4 9 在gnuplot中,如何使用列标题作为轴标签来绘制数据文件?e、 g.打电话 plot datafile using 1:2 我首先得到标记为的X轴,然后得到标记为的Y轴 编辑:我知道我可以通过set key auto title column head使用列标题作为键条目,但是这不是我想要的。我不认为gnuplot内置此功能;您可能必须使用类似awk的实用程序从数据文件中

我的问题很简单。假设我有一个带有列标题的数据文件,如下所示

first second
1 1 
2 1
3 6
4 9
在gnuplot中,如何使用列标题作为轴标签来绘制数据文件?e、 g.打电话

plot datafile using 1:2
我首先得到标记为
的X轴
,然后得到标记为
的Y轴


编辑:我知道我可以通过
set key auto title column head
使用列标题作为键条目,但是这不是我想要的。

我不认为gnuplot内置此功能;您可能必须使用类似awk的实用程序从数据文件中提取这些标签


您可以尝试在gnuplot的sourceforge站点上提交功能请求,并从那里的开发人员那里获得反馈。

我认为它是受支持的。您只需要能够使用“”:

使用“第一”打印“文件”:“第二”

不过,如果您想在使用规范中进行计算,也需要column(“”)函数

使用“第一列”打印“文件”:(第二列)-(第三列)


(不管怎样,在数学中只使用引用的标题名称对我来说是行不通的。)

要详细说明@andyras的建议,以下是您可以做到的方法:

datafile = 'filename.txt'
firstrow = system('head -1 '.datafile)
set xlabel word(firstrow, 1)
set ylabel word(firstrow, 2)
plot datafile using 1:2

您必须使用语句使用显式的
进行打印,否则gnuplot会抱怨第1行的
错误数据

awk
+
头-1
应该这样做。使用您的方法,您可以通过头字符串选择列,而不是使用1和2,但这些头不用作轴标签。