首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab -根据参数自定义曲面颜色

Matlab -根据参数自定义曲面颜色
EN

Stack Overflow用户
提问于 2013-06-10 19:56:51
回答 1查看 1.3K关注 0票数 3

我在自定义曲面图(trisurf或trimesh)的颜色时遇到问题。

我希望每个面的颜色取决于相对应变值(为网格的每个三角形计算)。我在想像这样的东西:

代码语言:javascript
复制
p = patch('Faces',faces,'Vertices',verts,'FaceColor',strain);

但是FaceColor似乎不能与数组一起工作。

Nx1是面数组,其中N是面数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-10 20:24:24

首先,您需要将FaceColor更改为'flat',以便能够从颜色数据数组中读取颜色- CData属性:

试试这个(虽然没有经过测试):

代码语言:javascript
复制
p = patch( ...
   'Faces',     faces, ...
   'Vertices',  verts, ...
   'FaceColor', 'flat', ...
   'CData',     strain' ...
);

在这里,我将CData属性设置为strain向量的转置。然后,MATLAB应自动将此向量中的N个应变值映射到所选的颜色映射(线性)。有关详细信息,请参阅属性CDataMapping

文档:

http://www.mathworks.se/help/matlab/ref/patch_props.html#FaceColor http://www.mathworks.se/help/matlab/ref/patch_props.html#CData http://www.mathworks.se/help/matlab/ref/patch_props.html#CDataMapping

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17023323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档