如何在MATLAB中插入自定义色彩映射?

时间:2013-11-09 06:55:02

标签: matlab plot matlab-figure

我正在使用for循环和fill3命令绘制一堆三角形,如下所示。我想做一些像这个例子,其中Z范围对应于特定的颜色。

Example of what I want

现在,我正在使用fill3(x,y,z,'r')因为我不确定还能做什么。

enter image description here

1 个答案:

答案 0 :(得分:0)

可以在每个顶点设置颜色并在它们之间进行插值。您还可以通过将每个顶点的颜色设置为相同来创建纯色多边形。

来自matlab文档

  

fill3(X,Y,Z,C)填充三维多边形。 X,Y和Z三元组指定多边形顶点。如果X,Y或Z是矩阵,fill3将创建n个多边形,其中n是矩阵中的列数。 fill3通过在必要时将最后一个顶点连接到第一个顶点来关闭多边形。

     

C指定颜色,其中C是当前颜色映射的索引的向量或矩阵。如果C是行向量,则长度(C)必须等于大小(X,2)和大小(Y,2);如果C是列向量,则长度(C)必须等于大小(X,1)和大小(Y,1)。

创建多边形的示例,其每个顶点的颜色与Z坐标成比例:

X = [0 1 1];
Y = [1 1 0];
Z = [0 0.5 1];
C = [Z(1)/max(Z);
    Z(2)/max(Z);
    Z(3)/max(Z)];
fill3(X,Y,Z,C);
%optional
colormap(hot);