Filter löschen
Filter löschen

Plotting and reversing axis direction

577 Ansichten (letzte 30 Tage)
Maeve  Ryan
Maeve Ryan am 26 Nov. 2011
Kommentiert: MISBAH MEHAK am 3 Feb. 2024
Hello, I want to plot a graph with one x axis and two y axes. I want one of the y axes to be reversed i.e. beginning at the top so the data hangs off the top of the graph. Additionally I want the reversed y axis plot to be a bar graph and the other to be an ordinary line plot.
I tried this function
plot (a,b)
bar(a,c)
Set (gca,'Ydir','reverse')
but this reversed both y axes.

Akzeptierte Antwort

Daniel Shub
Daniel Shub am 26 Nov. 2011
a = (1:10)';
b = rand(10, 1);
c = rand(10, 1);
figure
h1 = axes
bar(a, c)
set(h1, 'Ydir', 'reverse')
set(h1, 'YAxisLocation', 'Right')
h2 = axes
plot(a,b)
set(h2, 'XLim', get(h1, 'XLim'))
set(h2, 'Color', 'None')
set(h2, 'Xtick', [])
  2 Kommentare
Maeve  Ryan
Maeve Ryan am 26 Nov. 2011
Thanks Daniel :)
MISBAH MEHAK
MISBAH MEHAK am 3 Feb. 2024
It is not working in case of subplot. The latter plot considers full figure instead of subplot. Can you please tell me how to make it work in a subplot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 26 Nov. 2011
Consider using plotyy(), recording the axes generated, and applying the set() to the appropriate one.
  3 Kommentare
Walter Roberson
Walter Roberson am 26 Nov. 2011
ax = plotyy(...)
set(ax(2),'YDir','reverse')
Y Budi Sulistioadi
Y Budi Sulistioadi am 10 Jun. 2013
this answer rocks! Thanks

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Two y-axis finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by