数据如上图所示,三列 前两列表示坐标,第三列表示颜色强度
生成图如这个图这样。求高手解答下
坐标点是离散的,而且由坐标点生成的像素点与颜色必须与坐标点含量值一一对应
可否解释一些patch('Faces',tri,'Vertices',[X,Y],'FaceVertexCData',Z,...
'FaceColor','interp','EdgeColor','none');
colorbar;
这句语句什么意思?
根据你的语句我得到了图像,但发现图像颜色差别不是很明显,我的Z数据大部分为3左右,只有少数值较大最大值为45
非常感谢
patch就是给空间区域填充颜色
特别的可以用于三角网格表示的多个三角形的颜色填充
首先用
tri=delaunay(X,Y);
将撒播点数据X,Y划分为三角形网格
得到的tri是个nx3的矩阵,
n是划分三角形的个数
每一行三个数是十三个下标,表示三角形三个角分别是X,Y数据中的哪个
所以tri就相当记录了每个三角形的信息
而X,Y记录了这些三角形顶点的信息
其实得到tri后加上X,Y数据
我们很容易用tirplot(tri,X,Y)画出划分后的网格
加上Z数据,我们还可用
trimesh(tri,X,Y,Z)或trisurf(tri,X,Y,Z)画出三维的曲面图
现在你只需要画二维的图像,而Z用颜色表示,所以用patch比较合适
'Faces',tri,'Vertices',[X,Y] 就指定了三角网格的面和顶点
'FaceVertexCData',Z,'FaceColor','interp', 指定了顶点的颜色是根据Z数据确定,
而三角形面本身是没有数据的,所以用‘interp’就是插值来决定颜色
'EdgeColor','none'; 边指定三角形边的颜色,这里不要所以用‘none’
颜色对比不明显,是你的数据分布不均匀的结果
你可以在画完图之后,在菜单中选取Edit的Colormap选项
就会弹出一个Colormap Editor的对话框
拖动其中颜色条的标签位置就可以改变颜色
根据自己的需要调整到最好看就可以了
真的太感谢你了,你的回答有知乎的感觉了。太专业了
我想颜色不均可否将生成的图片变大显示,就是让横纵坐标量度变小。把现在的 10的6次方和10的5次方变成10的5次方和10的4次方?
坐标按比例缩小好像起不到什么作用吧
就像原来是0~10和0~10的图像,坐标轴的框也是0~10
而把坐标扩大成0~100和0~100的,坐标轴的框也相应的变成0~100
这样显示的结果并没有区别
好的,我再试试。非常感谢