像这样的云图该如何通过matlab绘制?
3 个回答
clc
clear
close all
x=linspace(800,1600,11);
y=linspace(100,220,11);
X=meshgrid(x,y);
Y=meshgrid(x,y);
Y=Y';
Z = X.^2+Y.^2;
figure
imagesc(x,y,Z)
colormap jet;
colorbar;
在matlab中可以使用pcolor函数来绘制云图,参见上篇文章。
这是我使用matlab绘制了一个CFD的云图,配色采用了经典红蓝配色,这个配色文件分享给大家。建议大家自己上手试一下。
本文包括:
本文包括:
- 自定义配色文件的生成
- 绘图时使用自定义配色
自定义配色文件的生成
以Small_Rainbow配色为例 1. MATLAB 命令提示符:输入 colormapeditor,打开颜色图编辑器;
2. 在自定义颜色图-指定颜色中设置想要的锚点; 3. 像我这个就共有5个锚点(RGB 0-255):
[0 0 255]
[0 255 255]
[0 255 0 ]
[255 255 0 ]
[255 0 0 ]
- 设置完成后点击文件-另存为,保存至工作区;
- 保存为.mat文件便于以后使用。
绘图时使用自定义配色
我绘图的完整代码见上篇文章,关于颜色图的主要有这三行:
pcolor(radial_symmetry,axis_
就是个二维矩阵直接用imagesc画出来。把数据准备好,需要像上面答主那样用meshgrid做一下同样大小的x y坐标矩阵,就可以直接画了。
扔个类似的。不过这种图最好还是不要用rainbow的colormap,因为颜色不连续,对于强度的认知不如grayscale。