How does I bring the line plot in front of the bar?

185 visualizzazioni (ultimi 30 giorni)
I am makeing the graph to illustrate some information with plot function and bar function.
Problem is the line made by plot function is always back of the bar, so some part of line is hided like a image below.
It is possible to control the size of axis to make not to be overlaped, but I do not want to do that.
How can I bring the line in front of the bar?

Risposta accettata

Kevin Phung
Kevin Phung il 25 Feb 2019
Use uistack();
a = plot(x,y) %let a be the handle to plot 1
b= plot(x2,y2) %let b be the handle to plot 2
uistack(a,'top') %you can also do uistack(b,'bottom')
  1 Commento
Adam Danz
Adam Danz il 5 Dic 2021
Modificato: Adam Danz il 5 Dic 2021
As of Matlab R2021b, uistack does not work with yyaxis since the objects are assigned to different rulers.

Accedi per commentare.

Più risposte (1)

Jakub Schneider
Jakub Schneider il 25 Nov 2020
When using multiple y axis plot (yyaxis left and yyaxis right) the yyaxis right plot is on the top. So just switch left to right and the line will be over the bars.
  1 Commento
Jakob Weis
Jakob Weis il 8 Giu 2021
When using two y-axes, simply switching the data/axes is rarely an option. The primary dataset has to go on the primary/left axis and the secondary dataset on the secondary right/axis.
Here's a workaround for this case: https://www.mathworks.com/matlabcentral/answers/280015-draw-stack-order-for-yyaxis

Accedi per commentare.

Categorie

Scopri di più su Migrate GUIDE Apps 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