Gnuplot-如何在指定的XTIC上绘制一列数据?

Gnuplot-如何在指定的XTIC上绘制一列数据?,gnuplot,Gnuplot,我有一列数据(y轴),其中4行中的每一行对应一个温度(x轴)。我可以将xtic从0-3用于四种温度,但xtic标签表示的温度间隔不均匀。我想以指定的XTIC绘制每一行数据,以便间隔反映温度的间隔。这可能吗 使用以下说明 set xrange [0:3] set xtics ("253" 0, "294" 1, "310" 2, "350" 3) 我在四种温度下绘制了四行图,但是x值的间隔是1 tic。我希望我的数据与温度的xtic值相同 我想我可以用 set xtics ("253" 253,

我有一列数据(y轴),其中4行中的每一行对应一个温度(x轴)。我可以将xtic从0-3用于四种温度,但xtic标签表示的温度间隔不均匀。我想以指定的XTIC绘制每一行数据,以便间隔反映温度的间隔。这可能吗

使用以下说明

set xrange [0:3]
set xtics ("253" 0, "294" 1, "310" 2, "350" 3)
我在四种温度下绘制了四行图,但是x值的间隔是1 tic。我希望我的数据与温度的xtic值相同

我想我可以用

set xtics ("253" 253, "294" 294, "310" 310, "350" 350)
但数据仍绘制在0-3处

我能用像这样的东西吗

plot "file.dat" using 1:xtics(253,294,310,350)
这不管用,但只是个想法。
提前感谢您的任何意见和帮助

通常的做法是将温度放在一个单独的列中,并使用该列作为x坐标。但是,如果您确实希望仅在绘图脚本中插入温度值,我建议:

array temperature[4] = [253,294,310,350]
plot "file.dat" using (temperature[$0+1]):1 
请注意,行号从0-3开始,但数组索引从1-4开始

如果您的gnuplot太旧,无法支持数组,那么您可能仍然可以使用多字字符串。警告:此语法非常难看

temperature = "253 294 310 350"
plot "file.dat" using (word(temperature,int(column(0))+1)+0.0):1
另一个(“丑陋的”)解决方法:如果只有4行,则可以执行以下操作。也适用于gnuplot4.0

myTic(n) = n==0 ? 253 : n==1 ? 294 : n==2 ? 310 : n==3 ? 350 : NaN

plot 'file.dat' u (myTic($0)):1

数组是我正在使用的计算机上的无效命令。有什么工作吗?也许吧。取决于您的gnuplot版本有多旧。看修改后的答案。太棒了!非常感谢。您正在运行哪个gnuplot版本?