嗨,这似乎是一个简单的问题,但我很难理解如何使用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的高度相关。
答案 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 docs和surface_properties docs,color_flag
可用于:
color_flag:此字段用于指定用于设置构面颜色的算法。
请注意,color_mode,foreground和hiddencolor的规则是 仍然适用于这种情况。
...
color_flag == 1
所有刻面均使用与每个刻面成比例的一个颜色索引绘制 ž。使用索引1颜色绘制最小z值 使用最高颜色指数绘制最大z值。的边缘 可以根据color_mode的值另外绘制facet (见上文)。