Color of surf function

5 次查看(过去 30 天)
I wamt to plot 3 spheres with different colours. But i am unable to do it. I am sharing the code as well. Thank you for your help.
x_min = 5; x_max = 45; y_min = 5; y_max = 45; z_min = 5; z_max = 45;
centre_x(1) = x_min + rand(1)*(x_max-x_min);
centre_y(1) = y_min + rand(1)*(y_max-y_min);
centre_z(1) = z_min + rand(1)*(z_max-z_min);
radius(1) = 4+rand(1)*(5-4);
volume = (4/3)*pi*radius(1)^3; i=2; iteration=0;
plot_sphere(centre_x(1),centre_y(1),centre_z(1),radius(1));
%% plot_sphere function
function [] = plot_sphere(xi,yi,zi,r)
[x, y, z] = sphere;
x = x.*r;
y= y.*r;
z = z.*r;
surf(x+xi, y+yi, z+zi);
%colormap summer
mymap = [1 0 1];
%cmap =
colormap(mymap);
hold on;
axis equal
end

采纳的回答

Walter Roberson
Walter Roberson 2022-6-2
You can only use one colormap per axes. You need to use different axes, or you need to supply "CData" in the surf() call passing rgb color data

更多回答(1 个)

KSSV
KSSV 2022-6-2
mymap = [1 0 0];

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by