how to change the order of plots?

25 visualizzazioni (ultimi 30 giorni)
Chang seok Ma
Chang seok Ma il 5 Dic 2021
Modificato: Adam Danz il 6 Dic 2021
Hello,
I have a following code
figure(3)
colororder({'b','r'})
yyaxis left
bar(horizon2,data2(:,2),1,'FaceColor',[1 1 1],'EdgeColor','b','LineWidth',2)
hold on
bar(horizon3,data3(:,2),1,'FaceColor',[1 1 1],'EdgeColor','g','LineWidth',2)
hold on
%,'FaceAlpha',0.6
xlabel('Thousands of dollars')
% 2007m12
grid on
yyaxis right
bar(horizon1,data1(:,4),1,'FaceColor',[1 1 1],'EdgeColor','r','LineWidth',2)
then I have a graph as follows
But I want to have green plots over red and blue plots.
Is there anyway I could do this?
Thank you

Risposta accettata

Adam Danz
Adam Danz il 5 Dic 2021
Modificato: Adam Danz il 6 Dic 2021
As of the current Matlab release (R2021b), it is not possible to control the uistack of objects on different sides of a yyaxis. Objects assigned to the right axis will always be on top.
Alternative work-arounds
  • Move the red bars to the left y-axis and the green/blue bars to the right axis.
  • Use plotyy instead (but yyaxis is still much better). See this answer.
  • Use transparency to see overlapping bars. See FaceAlpha and EdgeAlpha properties of bar objects.

Più risposte (0)

Categorie

Scopri di più su Axes Appearance in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by