Change automatically colors and line style
19 次查看(过去 30 天)
显示 更早的评论
Hello,
I'm sure my question has already been asked but I wasn't able to find it.
I'm plotting several functions in a loop such as:
for n=1:10
[Y{1,n},V]=f_regression(M(n,:),k,1);
hold all
h(n)=plot(V(:,i),Y{1,n}(:,i));
end
I want each function to have its own color. hold all changes ideed the color but a lot of them are the same color.
Is it possible to have strictly different colors or maybe change the line style when the color is the same?
Thanks for helping.
0 个评论
采纳的回答
Ilham Hardy
2014-6-11
编辑:Ilham Hardy
2014-6-12
Hi Alain,
The hold all command used the ColorOrder .
By default there are only 7 elements (read: colors) defined in the ColorOrder , thus 7 repeated consecutive colors.
You can define your custom ColorOrder for specific figure (axis).
For example,
% check default ColorOrder
ColorOdrDef = get(gca,'ColorOrder'); %7x3 RGB array
%define your custom color order
ColorOdrCustom = [0 0 1;...
0 1 0;...
1 0 0;...
0 1 1;...
1 0 1;...
1 0.69 0.39;...
0.6 0.2 0;...
0 0.75 0.75;...
0.22 0.44 0.34;...
0.32 0.19 0.19]; %10x3 RGB array
set(gca,'ColorOrder',ColorOdrCustom);
Hope that helps,
更多回答(1 个)
Henric Rydén
2014-6-11
Yes it's possible. Check the predefined colormaps here:
colors = jet(10);
for n=1:10
[Y{1,n},V]=f_regression(M(n,:),k,1);
hold all
h(n)=plot(V(:,i),Y{1,n}(:,i),'Color',colors(n,:));
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Orange 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!