MATLAB Answers

How to make stack plot with y axis consisting of multiple plots?

18 views (last 30 days)
Jay Vaidya
Jay Vaidya on 18 Nov 2020
Commented: Jay Vaidya on 20 Nov 2020
I make the plots by the following code using subplots
subplot(2,1,1)
for i=2:size(data,1)
plot_fig(i) = plot(data(1,:),data(i,:),'LineWidth',2.5);
hold on
end
subplot(2,1,2)
plot_fig = plot(data(1,:),y_2(2,:),'LineWidth',2.5);
But I was wondering if can do the same but using stackedplot() considering that my top plot will have multiple plots in it.
The x-axis is same for the above 2 plots. That means these plots can be a stacked plot.

  9 Comments

Show 6 older comments
Peter Perkins
Peter Perkins on 19 Nov 2020
"stacked but not using subplot" makes no sense. The ONLY way you can have two plots in one figure is subplots. It sounds like you are looking for the VARS input argument to stackedplot, which will let you group Var1 through Var5 in one subplot and Var6 in another?
Jay Vaidya
Jay Vaidya on 19 Nov 2020
Yes, that is right, I am looking for that but with a functionality such that when I zoom in to one of the plots then other plot also shows zoomed in plot (because their plotted x-axis is still the same data)
Adam Danz
Adam Danz on 19 Nov 2020
I think Vasishta Bhargava's answer is what you're looking for.
Also, I just uploaded a function to the file exchange, stackedaxes() which mimicks Matlab's stackedplot but returns the axis handles and allows you to access or add to the content of the figure.

Sign in to comment.

Accepted Answer

VBBV
VBBV on 19 Nov 2020
tbl = readtable('stacked.xlsx');
Vars = {{'A','B','C','D','E'},'F'}; % assuming 6 variable names(Var1 ...Var6) as A,B... E, Five of them plotted as one and remaing seperately
stackedplot(tbl,Vars)

  11 Comments

Show 8 older comments
VBBV
VBBV on 19 Nov 2020
Vars = {{'B','C','D','E'},'F'};
xvar = "A";
stackedplot(tbl,Vars,'XVariable',xvar)
Jay Vaidya
Jay Vaidya on 20 Nov 2020
Hello Vasishta,
Can I not give individual titles to the 2 plot windows in the stackedplot? I am using s.title = 'plot1' in general.

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!