plotting and reversing axis in subplot

2 vues (au cours des 30 derniers jours)
Anjana Ekka
Anjana Ekka le 17 Nov 2021
Commenté : Anjana Ekka le 17 Nov 2021
I want to generate the same figure in four subplots ? Thanks in advance.
data=xlsread('Harangi_15_Oct2021.xlsx','All');
obs=data(:,2);
sim=data(:,3);
pcp=data(:,1);
x=[1:size(obs)]';
h1 = axes;
bar(x, pcp)
set(h1, 'Ydir', 'reverse');
set(h1, 'YAxisLocation', 'Right');
set(h1, 'Xtick', []);
set(h1, 'box','off','Color', 'None');
xlabel('Years','FontSize',12);
ylabel('Precipitation (mm/day)','FontSize',12);
legend('Precipitation');
h2 = axes;
plot(x,obs,'b'); hold on
plot(x,sim,'r'); hold on
set(h2, 'XLim', get(h1,'XLim'));
set(h2, 'box','off','Color', 'None');
set(h2, 'Xtick', []);
xticks([185:365:1827]);
xticklabels({'2005','2006', '2007','2008','2009'});
ylabel('Streamflow (mm/day)','FontSize',12);
legend('Observed','Simulated');
  1 commentaire
dpb
dpb le 17 Nov 2021
We have no idea what you would want in each, sorry...
As general note, look into using tiledlayout instead of subplot

Connectez-vous pour commenter.

Réponses (1)

Dave B
Dave B le 17 Nov 2021
I think I only see a bar and two plots. Here's some abbreviated code:
t=tiledlayout(2,2); % or you can even do t=tiledlayout('flow') and matlab will choose rows and columns!
h1 = nexttile;
bar(x, pcp)
...
h2 = nexttile;
plot(x,obs,'b');
...
h3 = nexttile;
plot(x,sim,'r');
...
  1 commentaire
Anjana Ekka
Anjana Ekka le 17 Nov 2021
Thanks Dave. I managed to solve half of the problem. I plotted x-pcp in reverse. x-y axis.
How can I plot x-obs and x-sim in x-y axis for each tile individually.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Axes Appearance dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by