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 命令标记了坐标轴)。
我想绘制 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 命令标记了坐标轴)。