4

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

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

我想要做的是,一旦创建了一个绘图,就能够有选择地覆盖或简单地将轨迹添加到两个轴之一。我试图捕捉 plotyy 返回的参数,但我无法破译它们。

任何帮助表示赞赏。

4

2 回答 2

3

MATLAB 文档plotyy说明

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

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

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

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

set(h1, 'LineStyle', '--')
set(h2, 'LineStyle', ':')
于 2012-02-03T13:49:57.257 回答
2

PLOTYY 的第一个输出是轴句柄向量。

AX = PLOTYY(..)

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

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

plot(AX(1), ...)

line('parent',AX(1),'xdata',...)
于 2012-02-03T13:47:51.233 回答