gnuplot 中 CSV 数据的双比例

Double scale for CSV data in gnuplot

我想绘制 CSV 数据,并用两个 x 轴引用它们。在底部线性 (4*$1^2) 尺度上,在顶部 - 其他单位的对数尺度 ($1)。两个尺度应该指的是同一个图。

plot "sum_no_realloc.csv" using (**4):4 with lines,

因此底部比例应以 4*$1^2 为单位,顶部应以 $1 为单位。

使用link命令。

假设您的数据文件如下所示:

3 1
4 2
10 3
20 4

并且您想按照您的描述进行绘图。 x2轴需要显示x-coordinates,x1轴需要显示变换后的坐标。

发出以下命令:

set link x2 via sqrt(x/4.0) inverse 4.0*x*x
set x2tics

那么如果你按

作图
plot "datafile.txt" using (**4.0):2 with lines

你会看到x2轴从0到20,x1轴从0到1600(4*20*20)。 link 命令强制两个轴根据映射函数进行 linked。您需要指定如何从 x1 轴确定 x2 轴以及如何反过来 - 当您执行此操作时,gnuplot 通常会抛出一条关于无法确认映射的警告消息。

下图显示了结果(我使用普通的 set xlab 和 set x2lab 命令标记了坐标轴)。