当绘制y小范围内非常密集的数据时,gnuplot的对数标度是正确的标度。
但在相反的情况下使用什么规模?假设不同曲线的大多数y值介于90和100之间。在这种情况下,我想使用类似反转对数刻度的东西。我尝试了0到1之间的对数刻度,但是gnuplot要我选择大于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
旁注:始终记住非线性轴很难理解。对数刻度是常见的,但其他一切都没有。因此,在呈现数据时要小心