2012-02-03 21 views
4

這應該很簡單,但我無法在Matlab文檔中找到解決方案。在plotyy中選擇軸

我必須繪製兩組或更多組數據,它們可以放在兩個不同的範圍內。所以我可以用plotyy來管理這個。

我想要做的是,一旦創建了一個繪圖,就可以選擇性地覆蓋或簡單地將軌跡添加到兩個軸之一。我試圖捕捉由plotyy返回的參數,但我無法使它們變得複雜。

任何幫助表示讚賞。

回答

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', ':') 
2

PLOTYY的第一個輸出是軸手柄的矢量。

AX = PLOTYY(..) 

AX(1)將成爲第一軸的句柄。 AX(2)將成爲第二軸的句柄。

要將繪圖添加到其中一個軸上,只需使用PLOT或LINE即可。

plot(AX(1), ...) 

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

謝謝!但通過這種方式,我怎樣才能將這兩個軸的值傳遞給** line **函數? – clabacchio 2012-02-03 13:53:07

+0

您可以在每個軸獨立繪製有兩個調用圖和線形: 圖(AX(1),...) 圖(AX(2),...) – siliconwafer 2012-02-03 14:15:28

+0

沒有抱歉,我指的是事實,如果我嘗試在寫入時通過**行**,並使用包含x軸和y軸值的變量,則會返回錯誤;什麼變量類型應該與'xdata'一起傳遞? – clabacchio 2012-02-03 14:20:25