yyaxis

Создание графика с двумя осями по Y

Синтаксис

yyaxis left
yyaxis right
yyaxis(ax,___)

Описание

пример

yyaxis left активирует сторону текущей системы координат, сопоставленной с левой осью Y. Последующие графические команды предназначаются для левой стороны. Если текущая система координат не включает две оси Y, то эта команда добавляет вторую ось Y. Если нет никаких осей, то эта команда сначала создает их.

yyaxis right активирует сторону текущей системы координат, сопоставленной с правой осью y. Последующие графические команды предназначаются для правой стороны.

пример

yyaxis(ax,___) задает активную сторону для осей ax вместо текущей системы координат. Если оси не включают две оси Y, то эта команда добавляет вторую ось Y. Задайте оси как первый входной параметр. Используйте одинарные кавычки вокруг 'left' и 'right'.

Примеры

свернуть все

Создайте оси с осью Y на обоих левые и правые стороны. Постройте набор данных вдоль левой оси Y. Затем используйте yyaxis right, чтобы активировать правую сторону так, чтобы последующие графические функции предназначались для него. Постройте второй набор данных против правой оси y и установите пределы для правой оси y.

x = linspace(0,10);
y = sin(3*x);
yyaxis left
plot(x,y)

z = sin(3*x).*exp(0.5*x);
yyaxis right
plot(x,z)
ylim([-150 150])

Создайте график с двумя осями Y и добавьте заголовок и подписи по осям каждой стороне.

Загрузите матричный hwydata из файла в качестве примера accidents.mat. Создайте график рассеивания пятой колонны в hwydata вдоль левой оси Y. Добавьте заголовок и подписи по осям.

load('accidents.mat','hwydata')
ind = 1:51;
drivers = hwydata(:,5);
yyaxis left
scatter(ind,drivers)
title('Highway Data')
xlabel('States')
ylabel('Licensed Drivers (thousands)')

Создайте второй график рассеивания седьмого столбца в hwydata против правой оси y. Затем маркируйте правую ось y.

pop = hwydata(:,7);
yyaxis right
scatter(ind,pop)
ylabel('Vehicle Miles Traveled (millions)')

Постройте два графика вдоль левой оси Y при помощи команды hold on.

x = linspace(0,10);
yl1 = sin(x);
yl2 = sin(x/2);
yyaxis left
plot(x,yl1)
hold on
plot(x,yl2)

Постройте два графика против правой оси y. Команда hold влияет на обоих левые и правые оси Y, таким образом, вы не должны переиздавать ее. После графического вывода возвратите hold прочь.

yr1 = x;
yr2 = x.^2;
yyaxis right
plot(x,yr1)
plot(x,yr2)
hold off

Очистите левую сторону путем создания его активным и затем использования команды cla.

yyaxis left
cla

Создайте фигуру с двумя подграфиками и присвойте объекты Axes переменным ax1 и ax2. Добавьте вторую ось Y в верхний подграфик путем определения ax1 как первого входа к yyaxis. Если вы не задаете оси, то yyaxis добавляет вторую ось Y в текущую систему координат.

x = linspace(1,10);
ax1 = subplot(2,1,1);
yyaxis(ax1,'left')
plot(ax1,x,sin(x))
yyaxis(ax1,'right')
plot(ax1,x,exp(x))

ax2 = subplot(2,1,2);
plot(ax2,1:10)

Входные параметры

свернуть все

Целевые оси, заданные как объект Axes. Если вы не задаете объект Axes, то yyaxis использует текущую систему координат.

Ограничения

  • При работе с двумя осями Y вы не можете:

    • Вращайте оси (только 2D представление).

    • Прикрепите аннотации.

    • Скопируйте объект осей с помощью copyobj.

Советы

  • Чтобы определить, какая сторона осей активна, запросите свойство YAxisLocation для объекта Axes. Свойство установлено в 'left', когда левая сторона активна и 'right', когда правая сторона активна. Свойство YAxisLocation для объекта Axes с двумя осями Y только для чтения.

  • Чтобы очистить активную сторону, используйте cla. Чтобы очистить обе стороны осей и удалить правую ось y, используйте cla reset. Также можно ожидать, чтобы очистить обе стороны и удалить правую ось y до следующей команды графического вывода путем установки свойства NextPlot объекта Axes к 'replaceall'.

Алгоритмы

свернуть все

Линии сетки

Линии сетки соответствуют местоположениям отметки деления вдоль левой оси Y.

Цвета и стили линии

Графики, сопоставленные с конкретной стороной осей, используют тот же цвет в качестве оси Y на той стороне. Если сторона содержит несколько строк, то цикл строк через порядок стиля линии. Левое использование оси Y первые раскрашивают последовательность цветов объекта Axes и правую ось y, использует второй цвет.

Если вы добавляете вторую ось Y в объект Axes, который содержит графики, то существующие графики и левая ось Y не изменяют цвета. Использование правой оси y следующее раскрашивает последовательность цветов.

Свойства осей графика

Свойства осей, связанные с осью Y, имеют два значения. However, MATLAB® предоставляет доступ только значение для активной стороны. Например, если левая сторона активна, то  свойство YLim объекта осей содержит пределы для левой оси Y. Точно так же, если правая сторона активна, то  свойство YLim содержит пределы для правой оси y.

Исключение - то, что  свойство YAxis объекта Axes содержит массив двух объектов линейки (один для каждой оси Y). Можно использовать линейки, чтобы получить доступ к каждой оси Y без в зависимости от активной стороны. Для примера см. Изменение свойств Графиков с Двумя осями Y.

Введенный в R2016a