%旋转功能核心语句:
axis vis3d %3维坐标系
surf(peaks)
for i = 1:36
camorbit(10,0,'data',[0 0 1]) %%[0 0 1]表示按z轴旋转。36*10=360表示旋转一周
drawnow %%即时显示旋转的结果
end
效果展示:
MATLAB中提供了多种颜色渐变的色域:包括Opencv中常见的hsv等
使用示例:autumn色域
clc,clear,close all
c = autumn(256);
surf(peaks);
colormap(c);
shading interp;
效果:
更多示例可参考官方文档,百度搜索:MATLAB autumn,jet等.
核心语句:surf(peaks,'EdgeColor','yellow')
,即在surf或其他绘图函数中添加‘EdgeColor’指定内容.
有效名称包括: ‘red’、‘green’、‘blue’、‘cyan’、‘magenta’、‘yellow’、‘black’、‘white’
和 ‘none’。有 效的十六进制颜色代码由 ‘#’ 后跟三个或六个十六进制数字组成。
示例:保留黄色线条
axis vis3d %3维坐标系
surf(peaks,'EdgeColor','yellow')
for i = 1:36
camorbit(10,0,'data',[0 0 1]) %%[0 0 1]表示按z轴旋转。36*10=360表示旋转一周
drawnow %%即时显示旋转的结果
end
效果:
```c
axis vis3d %3维坐标系
surf(peaks,'EdgeColor','yellow')
for i=1:36
camorbit(10,0,'data',[0,0,1])%[0 0 1]表示按z轴旋转。36*10=360表示旋转一周
M=getframe(gcf);
nn=frame2im(M);
[nn,cm]=rgb2ind(nn,256);
if i==1
imwrite(nn,cm,'out.gif','gif','LoopCount',inf,'DelayTime',0.1);%说明loopcount只是在i==1的时候才有用
else
imwrite(nn,cm,'out.gif','gif','WriteMode','append','DelayTime',0.1)%当i>=2的时候loopcount不起作用
end
end
为了表示色域渐进程度,可以加上一句colorbar.
总结:
MATLAB figure配色问题实际上还存在着很多很多的技巧,需要多使用多积累,很难一篇文章就总结完所有用法,所以最好的办法就是查阅MATLAB官方文档,里面会给出很多简单易懂的例程,如果担心英文看不懂,就把页面设置为中文;
另外,很多顶刊文献中也不乏很多精彩的配色方案,不妨去从中借鉴汲取灵感。