## How to plott multiple graphs with two Y-axes?

### R7 DR (view profile)

on 13 Aug 2015
Latest activity Edited by R7 DR

### R7 DR (view profile)

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

### Sebastian Castro (view profile)

on 13 Aug 2015
Edited by Sebastian Castro

### Sebastian Castro (view profile)

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

### R7 DR (view profile)

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.''

Sebastian Castro

### Sebastian Castro (view profile)

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 (view profile)

on 13 Aug 2015
Please check attached excel, so you can get an idea data.