gnuplot 中的反对数刻度

Inversed logarithmic scale in gnuplot

当绘制在 y 的小范围内非常密集的数据时,gnuplot 的对数刻度是可以使用的正确刻度。

但情况相反时该用什么比例呢?假设不同曲线的大多数 y 值都在 90 到 100 之间。在这种情况下,我想使用类似倒对数刻度的东西。我尝试了 0 到 1 之间的对数刻度,但 gnuplot 要我选择大于 1 的刻度

我怎样才能做到这一点?

你说得对,你可以用对数函数的反函数,也就是指数函数。但是gnuplot只支持对数刻度,所以你得自己做转换:

plot "myData" using 1:(exp())

您还必须自己处理轴抽动。要么你只是通过像

这样的列表来设置它们
set ytics ("0" 1.00, "1" 2.72, "2" 7.39, "3" 20.09, "4" 54.60, "5" 148.41)

或者您使用 gnuplot 5 轴的 link 功能。以下代码使用 y2 轴(右 y 轴)绘制数据并从右侧计算左侧 y 轴上的抽动一.

set link y via log(x) inverse exp(x)
plot "myData" using 1:(exp()) axes x1y2

旁注:永远记住非线性轴很难理解。对数刻度很常见,但其他一切都不常见。所以,在呈现数据时要小心