matlab中三维图形的颜色怎么设置?

2024-11-08 16:37:52
推荐回答(3个)
回答1:

matlab中三维图形的颜色的设置是输入相关的字母代码完成的。只需在绘图的函数后加上相应的字母代码即可,具体字母代表的颜色如下:

MATLAB在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。

扩展资料:

matlab常用的绘图函数:

1、graf2d :XY平面绘图(火柴棒)

2、graf2d2 :XYZ立体绘图(切片)

3、hndlgraf :平面显示线型处理窗口及命令演示

4、hndlaxis :平面显示处理窗口及命令演示

5、graf3d :立体显示处理窗口及命令演示

参考资料来源:百度百科-matlab

回答2:

surf(X, Y, Z, C)

可以用 C 指定颜色。

比如像你的情况,如果想让上半部分是蓝的下半部分是红的,可以这样:

% 之前算 X, Y, Z 的不变
C = zeros(size(Z));
C(Z >= 0) = 1;
C(Z < 0) = -1;

surf(X,Y,Z,C, 'edgecolor','none');

% 用 RGB 指定颜色红是(1 0 0),蓝是(0 0 1)
colormap([1  0  0; 0  0  1]);

% 后面代码也不变 ...

我不太懂你的 Ypz 是怎么算的,不过你的情况可能是那个 C 不太好算。如果你知道相映颜色在球面坐标下怎么算的,也可以算好了之后再用 shp2cart() 之类的函数转过来。

回答3:

如果能分次作图就比较简单,每次以不同的颜色画就行了。
不然也只能手动找到符合范围的点(x,y,z坐标范围),然后改变颜色。
据我所知没有自动这样符合你交替颜色要求的途径。