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.

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);
```

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

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 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 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)
```

`cla`

| `hold`

| `plot`

| `title`

| `xlabel`

| `ylabel`

| `yyaxis`

Was this topic helpful?