Gnuplot 使用标题列作为y轴的固定值

Gnuplot 使用标题列作为y轴的固定值,gnuplot,Gnuplot,我有这样的数据(因为空行gnuplot不会画任何东西,所以我有一个中断图) 到目前为止,我将这些列都放在单独的文件中,并按如下方式绘制: plot for [i=1:6] "".i.".dat" using 2:(i) with linespoints (i)使gnuplot在两个点之间画一条线,所有点都在一个固定的y上 我可以做同样的事情,但是使用每列的第一行/标题作为y的值吗?例如,对于第二列,我想使用2:(2)使用plot“data.dat”进行绘图,但其中(2)不是硬编码的,而是取自标

我有这样的数据(因为空行gnuplot不会画任何东西,所以我有一个中断图)

到目前为止,我将这些列都放在单独的文件中,并按如下方式绘制:

plot for [i=1:6] "".i.".dat" using 2:(i) with linespoints
(i)
使gnuplot在两个点之间画一条线,所有点都在一个固定的y上


我可以做同样的事情,但是使用每列的第一行/标题作为y的值吗?例如,对于第二列,我想使用2:(2)使用
plot“data.dat”进行绘图,但其中
(2)
不是硬编码的,而是取自标题?

是,如果您的gnuplot版本足够新。从(我认为)版本5.2.2开始,函数“columhead(x)”可以在使用说明符的内部进行计算。但是,它的计算结果为字符串,因此在将其用作y坐标值之前,必须将其转换为数字:

   set datafile separator comma
   plot for [i=1:6] "".i.".dat" using 2:(real(columnhead(i))) with linespoints title "column ".columnhead(i)

太棒了,这正是我想要的!事实上,我的命令是
为[i=1:6]“data.dat”every::1使用i:(real(columnhead(i)))和linespoints title“column.columnhead(i)
,因为现在所有列都在一个文件中,并跳过标题。非常感谢。
   set datafile separator comma
   plot for [i=1:6] "".i.".dat" using 2:(real(columnhead(i))) with linespoints title "column ".columnhead(i)