How to plot three Y-axes with same X-axis in matlab

x1=(0:43:(3*43)); Y1=
x2=[1:1:134]; Y2=
x3=[50:60:170]; Y3=
[ax,hlines] = plotyy(X1',Y1',X2',Y2')
ax(3)=axes('Position','Color','none','XColor','k','YColor','r',...
'yaxislocation','right');
hlines(3)=line(X3',Y3', 'Color', 'g', 'LineStyle', '-', 'Marker', '.', 'Parent', ax(3));
I have tried using this code but the second y axis and third y axis are getting overlapped. Can you suggest me some ideas

Réponses (2)

Joseph Cheng
Joseph Cheng le 15 Sep 2015

0 votes

Easiest solution is to browse the file exchange. a quick search provided me with http://www.mathworks.com/matlabcentral/fileexchange/9016-addaxis.

2 commentaires

This remains functional, but in newer versions (tested on 2021a), a 'colorord' error is encountered. Users should refer to the Discussions page for troubleshooting before proceeding with this File Exchange.
In aa_plot.m, there are a number of cases where axes properties are queried and set. The problem is the use of abbreviated 'colorord' property name. It should be 'colororder'. Correct all instances of the abbreviated name.
cord = get(gca,'colorord'); % change these
cord = get(gca,'colororder'); % to these

Connectez-vous pour commenter.

shalenys bedoya
shalenys bedoya le 12 Mai 2017

0 votes

There's a function on the file exchange that could works.
https://www.mathworks.com/matlabcentral/fileexchange/1017-plotyyy

Tags

Commenté :

DGM
le 7 Mar 2025

Community Treasure Hunt

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

Start Hunting!

Translated by