Assigning different color in legend
9 次查看(过去 30 天)
显示 更早的评论
I am using this code, but it's plotting same color for all the graphs. How can i assign different color for all of them. There is kind of 13/14 graph in one plot.
plot(xz,ys),hold on
%subplot(1,2,2)
%plot(x_0,y_0_diff,'o','markersize',7,xz,ys_diff)
xlabel('1000/T [1/K]')
ylabel('Ignition delay time (ms)')
h=legend("Experiment","M1","M2","M3","M4","M5","M6","M7","M8","M9","M10","M11","M12","location", "northwest");
set (h, "fontsize", 7.9);
2 个评论
回答(2 个)
Pieter Hamming
2018-9-14
The 'r' in plot(xz,ys,'r') means 'red', telling MATLAB you want this line to be plotted in red. If you instead use plot(xz,ys) MATLAB will automatically assign a color.
2 个评论
Pieter Hamming
2018-9-14
Can you try the following snippet and tell us what comes out?
ax=gca;
ax.ColorOrder
Stephen23
2018-9-14
编辑:Stephen23
2018-9-14
"How can i assign different color for all of them"
Each time you call plot is independent from the other calls, and so each time the colors start from the first color again. If you want to automatically cycle through the axes ColorOrder colors, then you should do any one of these:
- set the axes NextPlot property to 'add'.
- use hold on (only since MATLAB R2014b).
- use just one plot call.
Then you will get an automatic cycling of the line colors, from the axes ColorOrder:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!