Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Plotting different line colors within subplots avoiding duplicate colors?

Asked by Conal Doyle on 28 Jun 2013

subplot(2,2,3)

plot(Volume_Major,'LineWidth',2,'color',C);

title ('Evolution of Volume week by week');

xlabel('Time');

ylabel('Volume');

set(gca,'XTick',XTicks);

set(gca,'XTickLabel',XLabels);

legend('EURUSD','EURGBP','EURJPY','USDJPY','GBPUSD','USDCHF','USDCAD','AUDUSD','NZDUSD')

where C is a predefined set {[0 0 1],[1 0.4 0.6],[0 1 1],[1 0 0],[0 1 0],[1 0 1],[0 0.5 0],[0.5 0.5 0.5],[0.7 0.3 0],[1 1 0]}

and Volume_Major is a matrix.

When I plot this I find that an error occurs in the plot. When I change the plot function to plot(Volume_Major,'LineWidth',2), it plots perfectly but colors are duplicated. How do I avoid this?

0 Comments

Conal Doyle

Tags

Products

No products are associated with this question.

3 Answers

Answer by Tom on 28 Jun 2013
Accepted answer
h = plot(Volume_Major,'LineWidth',2)
set(h,{'Color'},C')

1 Comment

Conal Doyle on 3 Jul 2013

thank you, worked perfectly

Tom
Answer by Walter Roberson on 28 Jun 2013
h = plot(Volume_Major,'LineWidth',2);
for K = 1 : length(h)
  set(h(K), 'LineColor', C(K,:));
end

0 Comments

Walter Roberson
Answer by Tom on 28 Jun 2013

Or:

set(gca,'NextPlot','ReplaceChildren','ColorOrder',cell2mat(C'))
plot(Volume_Major,'LineWidth',2)

0 Comments

Tom

Contact us