Setting the independent colors of multiple surfaces

4 次查看(过去 30 天)
Hi all,
I am working on a numerical methods project where I would like to model a volume. I would later like to plot the surfaces depending on their temperature, so I need to have each plot to be a different colour. However, if I use the following code, regardless of setting the colormap each time, the colour gets overwritten with the last function. Please help.
[z, y, x] = cylinder(dRadius, 20);
surf(x*discWidth, y, z);
alpha(alph);
colormap([0, 1, 0]);
hold on;
[z, y, x] = cylinder(dRadius*2, 20);
surf(x*discWidth, y, z);
alpha(alph);
colormap([0, 1, 0]);
[z, y, x] = cylinder(dRadius*3, 20);
surf(x*discWidth, y, z);
alpha(alph);
colormap([0, 1, 0]);
[z, y, x] = cylinder(dRadius*4, 20);
surf(x*discWidth, y, z);
alpha(alph);
colormap([0.6, 1, 0]); %this seems to dictate what the total colour is.

采纳的回答

Jonathan Rabe
Jonathan Rabe 2020-3-23
This line seemed to work well with a facecolor argument...
surf(x, y, (b+z*discWidth), 'FaceColor', [Temps(elem, ringno)/100, 0, 1-Temps(elem, ringno)/100], 'LineWidth', lwidth);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by