2016-10-10 29 views

回答

2

不幸的是,fnplt不接受線圖的標準Color參數/值對,也沒有實際存儲它創建的圖的任何圖形句柄。你可以做的是得到你調用fnplt之前和之後的所有劇情句柄的列表,以獲得創建的對象的句柄,然後直接操縱它們的屬性。

% Get a list of all graphics within the current axes 
before = findall(gca); 

% Plot your function 
fnplt(s); 

% Figure out all of the graphics that were added to the axes by fnplt 
added = setdiff(findall(gca), before); 

% Alter their appearance. 
set(added, 'Color', [1 0 0]) 
+0

工程就像一個魅力。 MathWorks應將其作爲其文檔的一部分包含在內!你的方法比我問的要多得多。現在我可以調整該行的更多屬性。謝謝先生! –

+0

我可以問一個後續?是否可以設置「分段」顏色?儘管's'看起來像一個「整個對象」,我知道給出's'的「關鍵點」。我希望'keyPt1'和'keyPt2'之間的's'段是一種顏色,'s''的另一段,比如'keyPt4'和'keyPt5'之間是另一種顏色。這不能通過生成多個樣條曲線並單獨設置顏色來實現,因爲這些拼湊在一起的短曲線將不再提供適合所有點的原始「s」。謝謝! –

+1

@SibbsGambling你可以把上面的代碼放在一個循環中,並提供一個向量輸入作爲第二個輸入到'fnplt'來指定繪製一個函數的範圍。 'fnplt(s,[keyPt1,keyPt2]); fnplt(s,[keyPt2,keyPt3])' – Suever