Filter löschen
Filter löschen

how to change the order of plots?

20 Ansichten (letzte 30 Tage)
Chang seok Ma
Chang seok Ma am 5 Dez. 2021
Bearbeitet: Adam Danz am 6 Dez. 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

Akzeptierte Antwort

Adam Danz
Adam Danz am 5 Dez. 2021
Bearbeitet: Adam Danz am 6 Dez. 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.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by