why 'colormap' did not change the color of my plots?
22 次查看(过去 30 天)
显示 更早的评论
example:
figure, plot(rand(5))
colormap hot
above code did not change the color of plot.
0 个评论
采纳的回答
Adam Danz
2019-10-11
编辑:Adam Danz
2019-10-11
If you want to change the color of the lines based on a colormap, you can apply those colors to the "ColorOrder" property of the axes.
figure
h = plot(rand(5));
% Create a colormap based on the number of lines in your plot
cmap = hot(numel(h)); %you can use any colormap here
% Apply the colors to the lines
set(gca, 'ColorOrder', cmap)
Alternatively, you can apply the colors to the color handles of line objects,
set(h,{'Color'}, mat2cell(cmap,ones(numel(h),1),3))
Note that if your really want to use "hot", you'll end up with yellow and white lines wich are difficult or impossible to see against the default white axis. In that case you can change the axis colors to some other dark color.
set(gca, 'Color', [.2 .2 .2])
0 个评论
更多回答(1 个)
Sulaymon Eshkabilov
2019-10-11
Hi,
in order to get the colormap effect, the plot has to be 3D (like mesh, surf, etc), e.g.:
H=figure,
[x, y] = meshgrid(linspace(0, 13), linspace(-pi, pi));
Z = exp(cos(x)+sin(y));
mesh(x,y,Z);
colormap(H, hot)
%% An alternative colormap
H=figure,
[x, y] = meshgrid(linspace(0, 13), linspace(-pi, pi));
Z = exp(cos(x)+sin(y));
mesh(x,y,Z);
colormap(H, jet)
Good luck
1 个评论
Adam Danz
2019-10-11
2D plots can use colormaps, too.
imagesc()
scatter()
etc...
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Orange 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!