如何用scilab中的plot3d获取热色?

时间:2013-04-28 07:42:16

标签: colors plot scilab altitude mplot3d

嗨,这似乎是一个简单的问题,但我很难理解如何使用plot3d中的颜色。

这就是我所拥有的:

// x, y and z are matrix 4 by 100

myColors = ones(1,size(z,2));
plot3d(x,y,list(z,myColors),alpha=0,theta=270);

我想让myColors与z的高度相关。

1 个答案:

答案 0 :(得分:2)

代码

如果我理解正确的x,y和z类似于:

x = [ 1:100 ];
y = [ 1:4 ];

z = rand( length(x), length(y) ); //Some function resulting in (100 x 4) matrix

然后您可以使用以下代码进行绘图。

plot3d( x, y, z, alpha=0, theta=270);

e = gce();        // Get current entity handle.
e.color_flag = 1; // Color according to z

f = gcf();                        // Get current figure handle.
f.color_map = hotcolormap(512);     // Make it a heat color map

文档

根据plot3d docssurface_properties docscolor_flag可用于:

  

color_flag:此字段用于指定用于设置构面颜色的算法。

     

请注意,color_mode,foreground和hiddencolor的规则是   仍然适用于这种情况。

     

...

     

color_flag == 1

     

所有刻面均使用与每个刻面成比例的一个颜色索引绘制   ž。使用索引1颜色绘制最小z值   使用最高颜色指数绘制最大z值。的边缘   可以根据color_mode的值另外绘制facet   (见上文)。

产生的图像

enter image description here