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

조회 수: 3 (최근 30일)
Vítek
Vítek 2023년 3월 29일
편집: daniel mitchell 2023년 3월 29일
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