Surf函數調節圖像方法
各位小夥伴在用surf函數繪三維圖時很多時候需要改變圖像的屬性,使其更加美觀生動,已達到所需目的。接下來就分享一下調節surf圖像屬性的方法,希望能夠幫到大家。
例如所繪制的三維圖像如下:
[x,y] = meshgrid(-pi:0.1:pi);
z = sin(x).*cos(y);
surf(x,y,z)
則所得圖像為:
對圖像屬性的調節方式如下:
S = surf(x,y,z)
S =
Surface - 屬性:
EdgeColor: [0 0 0]
LineStyle: '-'
FaceColor: 'flat'
FaceLighting: 'flat'
FaceAlpha: 1
XData: [63×63 double]
YData: [63×63 double]
ZData: [63×63 double]
CData: [63×63 double]
顯示 所有屬性
可以看到屬性欄裡有“EdgeColor”、“LineStyle”、“FaceColor”、“FaceLighting”、“FaceAlpha”。
例如像把圖像中的黑色網格線去掉,即可采用如下方法:
S.LineStyle = ‘none’;
此時原圖像變為:
同理也可以改變圖像的透明度:
S.FaceAlpha = 0.7;
效果如下:
以此類推即可。下面詳細列舉各種屬性的參數。
‘EdgeColor’ — Edge line color
[0 0 0] (default) | ‘none’ | ‘flat’ | ‘interp’ | RGB triplet | character vector of color name.
‘LineStyle’ — Line style
‘-’ (default) | ‘–’ | ‘:’ | ‘-.’ | ‘none’.
‘FaceColor’ — Face color
‘flat’ (default) | ‘interp’ | ‘none’ | ‘texturemap’ | RGB triplet | character vector of color name.
‘FaceAlpha’ — Face transparency
1 (default) | scalar in range [0,1] | ‘flat’ | ‘interp’ | ‘texturemap’.
具體詳情可以在Matlab中輸入help surf檢視。
本人也是Matlab小白,才疏學淺,不過還是希望能給大家帶來幫助。彼此互助,感謝大家!