www.gusucode.com > graphics 案例源码程序 matlab代码 > graphics/CreateChartWithTwoYAxesExample.m

    %% 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 or
% both of the sides.

%% Plot Data Against Left y-Axis 
% Create axes with a _y_-axis on the left and right
% sides. The |yyaxis left| command creates the axes and
% activates the left side. Subsequent graphics functions, such as |plot|,
% target the active side. Plot 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
% Activate the right side using |yyaxis right|. 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
% Control which side of the axes is active using the |yyaxis left|
% and |yyaxis right| commands. Then, add a title and axis labels.

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

yyaxis right
ylabel('Right Side')

%% Plot Additional Data Against Each Side
% Add two more lines to the left side using the |hold on| command. Add an
% errorbar to the right side. The new plots use the same color as the
% corresponding _y_-axis and cycle through the line style order. The |hold
% on| command affects both the left and right sides.

hold on

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

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

hold off


%% Clear One Side 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 Axes and Remove Right y-Axis
% Clear the entire axes and remove the right _y_-axis using |cla reset|.

cla reset

%%
% Now when you create a plot, it only has one _y_-axis. For example,
% plot three lines against the single y-axis.
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)