How can I change the color of tiles in a spherical graph?

5 次查看(过去 30 天)
Hello,
I need to change color of every tile, so the sphere is a heat map just like this image.
This is just image that we got from our teacher, but i have no clue how to make it.

回答(2 个)

Adam Danz
Adam Danz 2023-3-29
编辑:Adam Danz 2023-3-29
sphere
axis equal
colorbar
If you want to change the colors, you can plot the sphere using surf(X,Y,Z,C) where C controls color of each face.
Use the [X,Y,Z] = sphere syntax to return the x,y,z coordinates and then use h=surf(X,Y,Z) to produce the same sphere and return the surface handle. You can also control color by updating properties of the surface object h.

daniel mitchell
daniel mitchell 2023-3-29
编辑:daniel mitchell 2023-3-29
In S1 you can see the properties.
You can use the Cdata propery to change the color of each tile for example.
[X,Y,Z] = sphere;
figure
s1 = surf(X,Y,Z)
s1 =
Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 1 XData: [21×21 double] YData: [21×21 double] ZData: [21×21 double] CData: [21×21 double] Show all properties
colorbar;
axis equal
figure;
s2 = surf(X,Y,Z)
s2 =
Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 1 XData: [21×21 double] YData: [21×21 double] ZData: [21×21 double] CData: [21×21 double] Show all properties
s2.CData = zeros(21,21,3);
s2.CData(12,3,:) = [1 0 0] % R G B
s2 =
Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 1 XData: [21×21 double] YData: [21×21 double] ZData: [21×21 double] CData: [21×21×3 double] Show all properties

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by