MATLAB Answers

How to plott multiple graphs with two Y-axes?

8 views (last 30 days)
R7 DR
R7 DR on 13 Aug 2015
Edited: R7 DR on 13 Aug 2015
Hi,
Please suggest me how to write the code to plott multiple graphs with two Y-axes.
I have data sets like this...
X-axis data X1=[.....]; X2=[.....]; X3=[....];
First Y axis data A1=[.....]; A2=[.....]; A3=[.....];
second Y axis data B1=[.....]; B2=[.....]; B3=[.....];
This data produce totally six graphs, theree with Y axis one and three with Y axis two, please check the following image.
I am also attaching the excel file, please have a look.
Thanks

  0 Comments

Sign in to comment.

Answers (2)

Sebastian Castro
Sebastian Castro on 13 Aug 2015
Edited: Sebastian Castro on 13 Aug 2015
There is a "plotyy" function which lets you have two separate y-axes on the left and right sides:
Since you have 6 plots (3 on each axis, you should be able to concatenate them into columns. For example:
x = (1:10)';
y1 = rand(size(x));
y2 = rand(size(x));
y3 = rand(size(x));
y4 = 100*randn(size(x));
y5 = 100*randn(size(x));
y6 = 100*randn(size(x));
plotyy(x,[y1 y2 y3],x,[y4 y5 y6]);
- Sebastian

  0 Comments

Sign in to comment.


R7 DR
R7 DR on 13 Aug 2015
Hi
I tried with your suggestion, but it is shwoing the error like ''Error using horzcat Dimensions of matrices being concatenated are not consistent.''

  2 Comments

Sebastian Castro
Sebastian Castro on 13 Aug 2015
Does your data have different x-coordinates too? The commands I shared with you assume that all of them share the same x data, and therefore also have the same number of elements in the y-axis.
You could use functions like "interp1" to interpolate the data such that they all use the same x vector and can be concatenated and plotted with plotyy. Otherwise, it may be a more involved solution...
- Sebastian
R7 DR
R7 DR on 13 Aug 2015
Please check attached excel, so you can get an idea data.

Sign in to comment.

Sign in to answer this question.