Gnuplot - 将两列之间的关系绘制为 x1 与 x2

问题描述 投票:0回答:1

这里提出了类似的问题。基本上,我有三列(A、B、C),它们代表测量值 A(B) 和 C(B)。比如说,B 是时间,A 是温度,C 是取决于 A 的任何其他物理量。

我想绘制

x1

 温度、
x2
 时间和 y1 
C
 随着时间的变化。上述解决方案适用于几个数据点,但不适用于较大的数据集,因为它本质上修改了标签,并且我失去了对标签的控制。我希望情节看起来像:
温度在 x1
 轴上,形式如下:
显然它们最初不会等距,因为温度和时间之间的关系是:

知道如何解决这个问题吗?测试数据在这里

https://pastebin.com/CqAHjBJe

gnuplot
1个回答
0
投票
据我了解您的问题,您想链接 x1 和 x2 轴,对吗?为此,您需要一个表达式及其反函数。检查

help link

我想说,这仅在温度随时间增加(线性?!)的范围内才有意义。从图中,我读取了这些值:

# Time t0 = 73 t1 = 287 # Temperature T0 = 179 T1 = 1252
我想,人们还可以考虑一种自动提取这些值的方法。

脚本:

### link x1 and x2 axes reset session FILE = "SO76860010.dat" # Time t0 = 73 t1 = 287 # Temperature T0 = 179 T1 = 1252 set datafile separator comma set xlabel "Time" set xrange[t0:t1] set xtics nomirror set x2label "Temperature" set link x2 via (x-t0)*real(T1-T0)/(t1-t0) + T0 inverse (x-T0)*real(t1-t0)/(T1-T0) + t0 set x2tics 100 set grid x2,y set ylabel "Quantity" set key noautotitle plot FILE u 2:3 w l lc "red" ### end of script

结果:

© www.soinside.com 2019 - 2024. All rights reserved.