2017-06-21 84 views
2

當我想旋轉使用contour3繪製的線條時,似乎線條的圖形手柄已被刪除。我怎樣才能得到輪廓線的手柄?或者是否可以旋轉輪廓矩陣C如何獲得MATLAB中contour3繪製的曲線的句柄?

>> x = -2:0.25:2; x = -2:0.25:2; 
>> [X,Y] = meshgrid(x); 
>> Z = X.*exp(-X.^2-Y.^2); 
>> C=contour3(X,Y,Z,10,'m'); 
>> hd=gca; 
>> rotate(hd,[0 1 0],90,[0 0 0]); 

輸入最後一條命令後,行沒有移動。 (我使用MATLAB 2016a)。 enter image description here

+2

你爲什麼在'rotate'有'h'?它不應該是'C'嗎? –

+0

或'hd',基本上'h'不存在於此代碼中 –

+0

對不起,我只是犯了一個錯誤,我的意思是轉動hd –

回答

2

你需要從contour3第二輸出,這是句柄Contour graphics object

[C, h] = contour3(...); 

不幸的是,這不會幫助您輪換問題。從rotate的文檔:

rotate(h,direction,alpha)旋轉圖形由alpha度對象h。指定h作爲曲面,補丁,線條,文本或圖像對象。 ...

注意rotate不會在axesContour對象。相反,您需要使用view更改相機視圖。

+0

非常感謝!實際上,我想讓z軸的方向看起來很傾斜,這對我來說很難用'view'來實現。還有其他的功能嗎? –

+0

@Wangguosheng:爲此,您需要使用其他相機控制工具,正如我在[此問題]的回答中所提到的(https://stackoverflow.com/q/43479327/52738)。 – gnovice

+0

酷,'camroll'很適合這個。非常感謝〜 –