2016-10-06 61 views
0

除非另有说明,否则“log”将指自然对数。我使用plotyy在matlab中绘制2组数据。第一组是(x,Q),其中Q = -ln(y)。请注意,这里的“ln”不是函数调用......它是自然日志的表达式。第二组是(x,q),其中q = 1/exp(Q)。我希望第二组的y轴以对数表示。我的函数调用是如何将'plotyy'中的y轴更改为matlab中的自然对数比例

plotyy(x,Q,x,q,'plot','semilogy') 

由于semilogy是基数为10的行不重叠。我如何获得第二组的y轴以日志的形式呈现?

我不能触摸Q它仍然保持在线性标度上绘制。改变这不是一个选项。最后,绘图应该是相同的,唯一改变的是第二个Y轴上的刻度。我还会注意到,y包括正数和负数。

+0

Matlab没有'ln '。你的意思是'日志',对吧? – erfan

+0

对不起,这是数据的实际表达......不是程序调用。我会编辑,以防止进一步混淆 – ThatsRightJack

回答

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 
+0

宏伟!我预料会更容易。 – ThatsRightJack

相关问题