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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中三维图形的颜色怎么设置?相关的知识,希望对你有一定的参考价值。

我用代码做出的图是这样的
怎样才能跟下图那样达到颜色交替?

代码为
function y20
figure;
p=-pi:pi/100:pi;t=0:2*pi/150:pi;[P,T]=meshgrid(p,t);
theta=pi/2-P;phi=T;
R=Ypz(theta,phi);[X,Y,Z]=sph2cart(T,P,R);
surf(X,Y,Z,'facecolor',[0 .7 1],'edgecolor','none');
light
lighting phong
material shiny
axis equal;
view(60,15)
xlabel('X');ylabel('Y');zlabel('Z');title('Z')
function y=Ypz(theta,phi)
y=3/8*sqrt(70/pi)*abs(sin(theta).^3.*cos(theta).*sin(3*phi));

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

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

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

扩展资料:

matlab常用的绘图函数:

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

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

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

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

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

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

参考技术A 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() 之类的函数转过来。

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

以上是关于matlab中三维图形的颜色怎么设置?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB画图工具中坐标外面的底色是灰的,该如修改?

请问哪位高手,在用MATLAB画三维坐标图时,想让结果有文字和文本框,并能设置字的颜色明白那该怎么编写程

MATLAB中图形背景颜色设置问题

matlab中画图线型怎么设置

matlab中怎么让三维曲面的颜色随X,Y的值变化

matlab中怎么给柱状图加不同颜色以及分别legend? 跪求高人~~~