scilab 中的 Matlab“补丁”等效项

斯特凡诺

我需要使用命令 Plot3d 在 Scilab 中绘制一个四边形面,但我无法找到一种方法来在顶点处分配与实际值成比例的颜色。

在 Matlab 中的 patch 命令中,我可以在顶点分配一种颜色,与由实数给出的值成比例(例如,值为 3.6 的顶点将与值为 3.2 的顶点具有不同的颜色) .

在 scilab 中,plot3D 似乎只能管理整数值。

我尝试了以下代码:

    xf = [0, 1; 1 ,2; 1, 2; 0, 1 ];
    yf = [1, 1;1, 2;1, 1;1, 1 ];
    zf = [0, 0 ; 0, 0; 5,5 ;5, 5 ];
colors = [1 1;2 2 ;3.5 3;4.5 4 ];
plot3d(xf,yf,list(zf,colors) ,[0,0,0,flag,3] )

但颜色是相同的,即使矩阵颜色中指定的值略有不同。

有谁知道如何解决这个问题?

谢谢

跟踪控制

colors给定参数用作索引(因此是整数)以在颜色图中查找颜色。这就是为什么它们是相同的。

在您的示例中,您可以缩放color列表并设置具有更多值的大颜色图。例如

//Assuming default flags
flags=[2,8,4]
xf = [0, 1; 1 ,2; 1, 2; 0, 1 ];
yf = [1, 1;1, 2;1, 1;1, 1 ];
zf = [0, 0 ; 0, 0; 5,5 ;5, 5 ];

colors = [1 1;2 2 ;3.5 3;4.5 4 ];
// Scale colors
max_value = max(colors)
nr_of_colors = 128
scaled_colors = colors / max_value * nr_of_colors

plot3d(xf,yf,list(zf,scaled_colors) ,[0,0,0,flag,3] )

// Set colormap
fig = gcf()
fig.color_map = hotcolormap(nr_of_colors)

// To show the current colormap
getcolor()

会产生一个更连续的颜色图,它会反映稍微不同的颜色

连续色图

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章