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小白,才疏学浅,不过还是希望能给大家带来帮助。彼此互助,感谢大家!