Graph a scatter plot on top of a bar graph with different x- and y-axes
Show older comments
I need to plot a scatter plot on top of a bar graph. Each of the two plots has both a different x-axis and y-axis. I tried using the instructions for using "Multiple X- and Y-Axes" on Matlab's site to no avail. Here's the code I used:
hl1 = bar(barData', 'stacked');
xlim([0 900]);
ylim([0 1]);
ylabel('Percent of watershed land area');
ax1 = gca;
set(ax1, 'XColor', 'r', 'YColor', 'r');
ax2 = axes('Position', get(ax1, 'Position'), 'XAxisLocation', 'top', ...
'YAxisLocation', 'right', 'Color', 'none', 'XColor', 'k', 'YColor', 'k');
hl2 = scatter(POLN_PLOT, COST_PLOT, 'filled', 'Parent', ax2);
When I run the code, the first graph (bar graph) gets overwritten by the second graph (scatter plot). Both the red and black axes appear on top of one another. What I want is for the black axis to appear at the right and on the top of the plot.
I'm not experienced with using handles or properties, so I was hoping someone might be able to show me the best way to go about this. Thanks in advance!
Answers (1)
Carson
on 21 Jul 2011
4 Comments
Zac
on 28 Jul 2011
Thank you, as a matter of fact this did help me!
Enis
on 19 Feb 2014
this also helped me, thank you.
Summer
on 4 Sep 2014
YOU ARE MY HERO. I've been struggling with this for hours. Thanks!
Jose Vilela
on 21 Oct 2015
Thanks a lot, it was so helpful
Categories
Find more on Graphics Performance in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!