如何在' plotyy'中更改y轴matlab中的自然对数比例

时间:2016-10-06 08:29:36

标签: matlab plot

除非另有说明,否则#34; log"将参考自然日志。

我在matlab中使用String来绘制2组数据。第一组是(x,Q),其中Q = -ln(y)。请注意" ln"这里不是函数调用...它是自然日志的表达式。第二组是(x,q),其中plotyy。我希望第二组的y轴以对数刻度显示。我的函数调用是

q = 1/exp(Q)

由于plotyy(x,Q,x,q,'plot','semilogy') 是基数10,因此这些行不重叠。如何让第二组的y轴以对数刻度显示?

我无法触摸semilogy,而是以线性刻度绘制。改变这不是一种选择。最后,绘图应该是相同的,其中唯一改变的是第二个y轴上的刻度。我还要注意y包括正数和负数。

1 个答案:

答案 0 :(得分:1)

Matlab不提供自然log作为轴的缩放。但由于您的目标是重叠轴的左侧和右侧,您可以简单地选择右侧的限制与左侧的限制相同:

ha = plotyy(x,log(y),x,y,'plot','semilogy'); % handles of both axes
leftlim = ylim(ha(1)); % reading ylim of the left side
ylim(ha(2), [exp(leftlim(1)), exp(leftlim(2))]) % changing ylim of the right side