How to specify the color of each face independently? Either using plot3 or waterfall plot
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Keyur Savla
le 14 Avr 2025
Commenté : Mathieu NOE
le 14 Avr 2025
I want to be able to change the color of each face to be different. Is there a way to do that? Either waterfall or plot3, but open to other options as well.
%Data
x = [3 4 5 6 7 8];
y = 1:10;
z = [0.557668282000000 0.338441078000000 0.234647830000000 0.171571534000000 0.145776360000000 0.145776360000000;
0.518295499000000 0.405863916000000 0.400123394000000 0.306492064000000 0.264851392000000 0.220965997000000;
0.546313444000000 0.328483225000000 0.226840432000000 0.161622549000000 0.137061307000000 0.103935323000000;
0.508053348000000 0.390929752000000 0.377395056000000 0.291840789000000 0.251892663000000 0.211123492000000;
0.528207477000000 0.314119939000000 0.215415213000000 0.149739334000000 0.124970443000000 0.092681414000000;
0.492618639000000 0.367508278000000 0.341235709000000 0.270810866000000 0.232835907000000 0.192588062000000;
0.496943074000000 0.291760348000000 0.197562551000000 0.135737349000000 0.107583568000000 0.079613728000000;
0.468728144000000 0.317795980000000 0.279181733000000 0.216618451000000 0.183463664000000 0.149361397000000;
0.423083710000000 0.245707347000000 0.158596551000000 0.113084732000000 0.082281339000000 0.061452252000000;
0.416533294000000 0.250013365000000 0.165840410000000 0.125008755000000 0.120307120000000 0.089384088000000];
%Plot
j = waterfall(x,y,z);
j.FaceColor = [1 0 0]; %change color of all faces to red, trying to do each face a different color.
0 commentaires
Réponse acceptée
Mathieu NOE
le 14 Avr 2025
let's try something
%Data
x = [3 4 5 6 7 8];
y = 1:10;
z = [0.557668282000000 0.338441078000000 0.234647830000000 0.171571534000000 0.145776360000000 0.145776360000000;
0.518295499000000 0.405863916000000 0.400123394000000 0.306492064000000 0.264851392000000 0.220965997000000;
0.546313444000000 0.328483225000000 0.226840432000000 0.161622549000000 0.137061307000000 0.103935323000000;
0.508053348000000 0.390929752000000 0.377395056000000 0.291840789000000 0.251892663000000 0.211123492000000;
0.528207477000000 0.314119939000000 0.215415213000000 0.149739334000000 0.124970443000000 0.092681414000000;
0.492618639000000 0.367508278000000 0.341235709000000 0.270810866000000 0.232835907000000 0.192588062000000;
0.496943074000000 0.291760348000000 0.197562551000000 0.135737349000000 0.107583568000000 0.079613728000000;
0.468728144000000 0.317795980000000 0.279181733000000 0.216618451000000 0.183463664000000 0.149361397000000;
0.423083710000000 0.245707347000000 0.158596551000000 0.113084732000000 0.082281339000000 0.061452252000000;
0.416533294000000 0.250013365000000 0.165840410000000 0.125008755000000 0.120307120000000 0.089384088000000];
%Plot
j = waterfall(x,y,z,zeros(size(z)));
set(j, 'FaceColor', 'flat');
set(j, 'EdgeColor', 'k');
set(j, 'FaceVertexCData', rand(size(z,1),3)) % random colors
3 commentaires
Mathieu NOE
le 14 Avr 2025
well , between no edges and edges of same color as the face, I don't see a big difference in how the result will look like
and "no edges" seems to be here the only option that works or maybe there's a trick I am currently unaware of (?)
or you have to build your own version of waterfall (I don't have the time...)
%Data
x = [3 4 5 6 7 8];
y = 1:10;
z = [0.557668282000000 0.338441078000000 0.234647830000000 0.171571534000000 0.145776360000000 0.145776360000000;
0.518295499000000 0.405863916000000 0.400123394000000 0.306492064000000 0.264851392000000 0.220965997000000;
0.546313444000000 0.328483225000000 0.226840432000000 0.161622549000000 0.137061307000000 0.103935323000000;
0.508053348000000 0.390929752000000 0.377395056000000 0.291840789000000 0.251892663000000 0.211123492000000;
0.528207477000000 0.314119939000000 0.215415213000000 0.149739334000000 0.124970443000000 0.092681414000000;
0.492618639000000 0.367508278000000 0.341235709000000 0.270810866000000 0.232835907000000 0.192588062000000;
0.496943074000000 0.291760348000000 0.197562551000000 0.135737349000000 0.107583568000000 0.079613728000000;
0.468728144000000 0.317795980000000 0.279181733000000 0.216618451000000 0.183463664000000 0.149361397000000;
0.423083710000000 0.245707347000000 0.158596551000000 0.113084732000000 0.082281339000000 0.061452252000000;
0.416533294000000 0.250013365000000 0.165840410000000 0.125008755000000 0.120307120000000 0.089384088000000];
%Plot
mycolors = rand(size(z,1),3);
j = waterfall(x,y,z,zeros(size(z)));
set(j, 'FaceColor', 'flat');
set(j, 'FaceAlpha', 0.5);
set(j, 'EdgeColor', 'none');
set(j, 'FaceVertexCData', mycolors) % random colors
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



