[英]Change the color of a surface plot from SFIT in MATLAB
我有四個SFIT對象,可以使用它們繪制:
figure;
hold on;
plot(f1);
plot(f2);
plot(f3);
plot(f4);
這將繪制3D表面。 但是,我想給每個表面一種獨特的顏色,就像在plot函數中一樣。 通常,這是通過給參數“ r”或表示顏色的東西來完成的,例如:
plot(f1,'r');
但是,如果我在這里這樣做,則會出現以下錯誤:
使用繪圖時出錯沒有給“ r”賦值。 名稱/值對參數需要一個名稱,后跟一個值。
sfit / plot> iParseInputs中的錯誤(第231行)p.parse(parameterValuePairs {:});
擬合/繪圖錯誤(第44行)[XY,Z,輸入,輸出,樣式,級別,hParent] = iParseInputs(obj,varargin {:});
這表明必須提供一個字符串,但是哪一個呢? 我已經嘗試過“顏色”或“線色”之類的東西,但是這些未被識別
問題的簡化:我希望表示擬合對象的平面具有一種顏色。 每架飛機應有不同的飛機。
從此鏈接:
你可以試試
f1 = fit([x y], z, 'poly23');
ph = plot(f1, 'Style', 'Contour');
set(ph, 'Fill', 'off', 'LineColor', 'auto');
set
文件
https://uk.mathworks.com/help/matlab/ref/set.html
編輯
上面的建議僅顯示2D圖,有關3D情況,請參見此先前的SO答案:
與您相關的代碼是:
figure;
h = plot(f1);
set(h(1),'FaceColor','r');
因此,您要查找的“魔術字”是'FaceColor'
,它與set
結合使用(如上所述)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.