在plotyy中选择轴

时间:2012-02-03 13:43:26

标签: matlab plot axes

这应该很简单,虽然我无法在Matlab文档中找到解决方案。

我必须绘制两组或更多组数据,这些数据可以适用于两个不同的范围。所以我可以使用plotyy来管理它。

我想要做的是,一旦创建了一个绘图,就可以选择性地覆盖或简单地将轨迹添加到两个轴之一。我试图捕捉plotyy返回的参数,但我无法对它们进行decypher。

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

plotyy上的MATLAB文档说明了

[ha, h1, h2] = plotyy(...)

返回ha中创建的两个轴的句柄以及h1h2中每个图的图形对象的句柄。 ha(1)是左轴,ha(2)是右轴。

因此plotyy返回的第一个参数是每个创建的轴的句柄。要在左侧轴上绘图,请使用plot(ha(1), x, y)并在右侧轴上绘制使用plot(ha(2), x, y)

如果您不需要绘制图形对象的句柄,则可以使用ha = plotyy(...)。否则,h1h2会将句柄返回到plotyy调用中绘制的线条(或其他图形对象)。因此,按照文档中的示例,设置两行的行样式可以这样完成:

set(h1, 'LineStyle', '--')
set(h2, 'LineStyle', ':')

答案 1 :(得分:2)

PLOTYY的第一个输出是轴手柄的矢量。

AX = PLOTYY(..)

AX(1)将成为第一个轴的句柄。 AX(2)将成为第二轴的句柄。

要将曲线添加到其中一个轴,只需使用PLOT或LINE。

plot(AX(1), ...)

line('parent',AX(1),'xdata',...)