Problem with plotting two x-Axes and y-Axes

2 vues (au cours des 30 derniers jours)
BN
BN le 29 Avr 2020
Commenté : Adam Danz le 29 Avr 2020
Dear all,
Here is my plot:
I want to convert it to something like this picture below that I found on google:
Here is my code: I want to plot, plot() and area() as regular and plot bar() like the picture above (inverse)
h = plot(t);
set(h,'linewidth',1);
set(gca,'xtick',1:12,...
'xticklabel',{'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'});
newcolors = ['#77AC30'; '#0072BD';'#D95319';'#7E2F8E';'#EDB120';'#4DBEEE';'#A2142F'];
colororder(newcolors);
set(0,'DefaultLegendAutoUpdate','off');
box on
grid on
xlim([1 12]);
ylim([0 70]);
xticks(1:12);
hold on
hh = area(Obs,'LineStyle','none');
hh.FaceAlpha = 0.4;
hh.FaceColor = [0 0 0];
set(gca, 'YGrid', 'off', 'XGrid', 'off')
%VVVVV % HERE is second plot % VVVV
hold on % plot bar chart
cc = bar(t);
I tried:
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none');
But it isn't accomplished well.
Thank you all.
  2 commentaires
Tommy
Tommy le 29 Avr 2020
Rather than setting 'XAxisLocation' to 'top', what happens if you set 'YDir' to 'reverse'?
BN
BN le 29 Avr 2020
Modifié(e) : BN le 29 Avr 2020
Dear Tommy,
When I used:
hold on
ax1 = gca; % current axes
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,'YDir','reverse','YAxisLocation','right',...
'Color','none');
cc = bar(t);
Here is the reults:

Connectez-vous pour commenter.

Réponse acceptée

Adam Danz
Adam Danz le 29 Avr 2020
Use yyaxis to plot the plot() and area() on the left axis and the bar() on the right axis. Then flip the direction of the right axis as Tommy recommended. It will look something like this.
yyaxis left
hold on
plot(. . .)
area(. . .)
yyaxis right
hold on
bar(. . .);
set(gca, 'YDir', 'reverse')
If you need any help implementing that, show me what you've got and I can help straighten it out.
  2 commentaires
BN
BN le 29 Avr 2020
Thank you so much,
Adam Danz
Adam Danz le 29 Avr 2020
Bingo! Looks good.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by