Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

Create Chart with Two y-Axes

This example shows how to create a chart with y-axes on the left and right sides using the yyaxis function. It also shows how to label each axis, combine multiple plots, and clear the plots associated with one of the sides.

Plot Data Against Left y-Axis

Create the data. Use yyaxis to create axes with y-axes on the left and right sides. The yyaxis left command activates the left side so that subsequent graphics functions, such as plot, target the left side. Plot the data against the left y-axis.

x = linspace(0,25);
y1 = sin(x/2);
yyaxis left
plot(x,y1);

Plot Data Against Right y-Axis

Use yyaxis right to activate the right side. Then, plot a set of data against the right y-axis.

z1 = x.^2/2;
yyaxis right
plot(x,z1);

Add Title and Axis Labels

Add a title and axis labels. Since the right side is active, the ylabel function labels the right y-axis. Use yyaxis left to activate the left side. Then label the left y-axis.

title('Plots with Different y-Scales')
xlabel('Values from 0 to 25')
ylabel('Right Side')

yyaxis left
ylabel('Left Side')

Plot Additional Data Against Each Side

Use the hold on command to add additional plots. The hold command affects both the left and right sides. The plotted lines use the same color as the corresponding y-axis and cycle through the line style order.

hold on
y2 = sin(x/3);
y3 = sin(x/4);
yyaxis left
plot(x,y2);
plot(x,y3);

You can combine multiple types of charts in the axes. For example, add an errorbar to the right side.

yyaxis right
load count.dat;
m = mean(count,2);
e = std(count,1,2);
errorbar(m,e)
hold off

Clear One or Both Sides of Axes

Clear the data from the right side of the axes by first making it active, and then using the cla command.

yyaxis right
cla

Clear the entire axes and remove the right y-axis using cla reset. Now when you create a plot, it only has one y-axis. For example, plot three lines against the single y-axis.

cla reset
xx = linspace(0,25);
yy1 = sin(x/4);
yy2 = sin(x/5);
yy3 = sin(x/6);
plot(xx,yy1,xx,yy2,xx,yy3)

Add Second y-Axis to Existing Chart

Add a second y-axis to an existing chart using yyaxis. The existing plots and the left y-axis do not change colors. The right y-axis uses the next color in the axes color order. New plots added to the axes use the same color as the corresponding y-axis.

yyaxis right
zz1 = exp(xx/6);
zz2 = exp(xx/8);
plot(xx,zz1,xx,zz2)

See Also

| | | | | |

Related Examples

Was this topic helpful?