这应该很简单,虽然我无法在Matlab文档中找到解决方案。
我必须绘制两组或更多组数据,这些数据可以适用于两个不同的范围。所以我可以使用plotyy来管理它。
我想要做的是,一旦创建了一个绘图,就可以选择性地覆盖或简单地将轨迹添加到两个轴之一。我试图捕捉plotyy返回的参数,但我无法对它们进行decypher。
感谢任何帮助。
答案 0 :(得分:3)
plotyy
上的MATLAB文档说明了
[ha, h1, h2] = plotyy(...)
返回ha
中创建的两个轴的句柄以及h1
和h2
中每个图的图形对象的句柄。 ha(1)
是左轴,ha(2)
是右轴。
因此plotyy
返回的第一个参数是每个创建的轴的句柄。要在左侧轴上绘图,请使用plot(ha(1), x, y)
并在右侧轴上绘制使用plot(ha(2), x, y)
。
如果您不需要绘制图形对象的句柄,则可以使用ha = plotyy(...)
。否则,h1
和h2
会将句柄返回到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',...)