除非另有说明,否则#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包括正数和负数。
答案 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