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