在gnuplot中反转对数刻度

时间:2015-04-20 17:51:49

标签: gnuplot scale

当绘制y小范围内非常密集的数据时,gnuplot的对数标度是正确的标度。

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

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

你是对的,你可以使用对数函数的倒数,这是指数函数。但是gnuplot只支持对数刻度,所以你必须自己进行转换:

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

您还必须自己处理轴抽动。你可以通过像

这样的列表来设置它们
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($2)) axes x1y2

旁注:始终记住非线性轴很难理解。对数刻度是常见的,但其他一切都没有。因此,在呈现数据时要小心