Code covered by the BSD License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

### Highlights from multiplotyyy

5.0
5.0 | 3 ratings Rate this file 32 Downloads (last 30 days) File Size: 1.47 KB File ID: #39595 Version: 1.2

# multiplotyyy

### Laura Proctor (view profile)

08 Jan 2013 (Updated )

MULTIPLOTYYY allows the user to plot multiple lines on three sets of y-axes.

File Information
Description

MULTIPLOTYYY plots using three sets of y-axes values. Additionally, multiple lines can be plotted against each y-axis. Therefore, the inputs to the function must be grouped into cell arrays.
Here is an example call to the function:
x1 = (0:0.01:1)';
x2 = (0:0.1:1)';
x3 = (0:0.05:1)';
y1 = x1;
y2 = x2.^2;
y3 = x3.^3;
y4 = sin(x1);
y5 = fliplr(2*x1.^2);
y6 = 7*cos(x1);
y7 = 7*log(x1+1.2);
ylabels{1}='First y-label';
ylabels{2}='Second y-label';
ylabels{3}='Third y-label';
[ax,hlines] = multiplotyyy({x1,y1,x2,y2,x3,y3,x1,y4},{x1,y5},{x1,[y6,y7]},ylabels);legend(cat(1,hlines{:}),'a','b','c','d','e','f','g','location','w')

Acknowledgements

Plotyyy inspired this file.

Required Products MATLAB
MATLAB release MATLAB 8.4 (R2014b)
MATLAB Search Path
`/`
Tags for This File   Please login to tag files.
Comments and Ratings (6)
20 Dec 2015 Xavier Matabosch

### Xavier Matabosch (view profile)

Great function! I needed to plot Power and Thrust curves of a wind-turbine for a college work, and multiplotyyy worked perfectly.

Thank you very much! I'll make sure you appear on the acknowledgements.

23 Jun 2015 Laura Proctor

### Laura Proctor (view profile)

Andreas, all the lines are saved in the output, hlines. You can change the style using these. Or, you can change it in the code. If you let me know what you're looking for, I can help out.

To work with the legend, you can use the following modifications after you call the code that will align the axes with a legend on the left hand side. Please feel free to contact me directly, I'd be happy to help!

>> leg = legend(cat(1,hlines{:}),'a','b','c','d','e','f','g','location','w');
>> leg.Location = 'westoutside';
>> ax(2).Position = ax(1).Position;
>> ax(3).Position = ax(1).Position;
>> offset = 0.7/5.5;
>> ax(3).Position(3) = ax(3).Position(3) + offset;
>> ax(3).XLim = [ ax(1).XLim(1) ax(1).XLim(2)*(1 + 1/(ax(1).Position(3)) * offset)];

Comment only
23 Jun 2015 Andreas Kaineder

### Andreas Kaineder (view profile)

Great tool!! Is there a way to change the linestyle?

The only problem is, that the 2nd & 3rd axis are messed up when I put the legend outside of the plot. Can anybody help me with this? When I plot multiple lines it's confusing with the legend inside the plot. Thanks!

19 Jan 2015 Agnieszka

### Agnieszka (view profile)

when I run the example it shows me that: Undefined function 'multiplotyyy' for input arguments of type 'cell'
what is it wrong then? thanks!

Comment only
11 Apr 2013 Giacomo Alessandroni

09 Jan 2013 R

### R (view profile)

Couple of mistakes in the example, but otherwise works as advertised, thanks!

Comment only
10 Jan 2013 1.1

I fixed the mistakes in the original example call.

02 Jul 2015 1.2

modified calls in accordance with updated graphics