Azzera filtri
Azzera filtri

plotyy with bar graphs

5 visualizzazioni (ultimi 30 giorni)
Franco
Franco il 7 Lug 2014
Modificato: dpb il 7 Lug 2014
I have two data sets with completely different scales that I would like to plot as bar plots. say, y1 = linspace(1,10,10) and y2 = linspace(100000,1000000,10) and x = 1:10. If I use plotyy(x,y1,x,y2,@bar,@bar), I get 2 bar plots that are stacked and the same color. I would like the bar plots to be grouped with different colors for each bar series. Ive been searching for at least an hour, but frankly, most of the workarounds are complicated and suck. Your help is much appreciated. Thanks.

Risposte (1)

dpb
dpb il 7 Lug 2014
Modificato: dpb il 7 Lug 2014
plotyy is somewhat limited in that it can only take the two sets of x,y data so you have two choices --
a) make custom function that takes care of the desired customization but itself is callable by plotyy (I recall S Lord gave an example here not terribly long ago as in a few months at most that illustrated the idea nicely; sorry I can't recall the exact title), or
b) forego plotyy and draw the two axes individually. This really isn't as hard as it seems; and there's an example in the graphics help files section on enhancements that illustrates it.
Oh, and I guess there's a third...
c) take the basic bar that plotyy gives and then mung on the properties. With bar I suspect this is the least pleasant of the choices; for line plots it's generally straightforward and it may be w/ bar but I don't use it often enough to be particularly adept with it so I always struggle to get what I want that way...
ADDENDUM
Above is link to a thread where I posted S Lord's solution using anonymous functions for plotyy arguments. In the subject case it was fill instead of bar, but the idea's the same.

Categorie

Scopri di più su Two y-axis in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by