getAxes

Класс: matlab.graphics.chartcontainer.ChartContainer
Пакет: matlab.graphics.chartcontainer

Получите оси для подкласса контейнера графика

Синтаксис

ax = getAxes(obj)

Описание

ax = getAxes(obj) возвращает один или несколько объектов осей для графика, который наследовался matlab.graphics.chartcontainer.ChartContainer базовый класс.

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

развернуть все

Объект класса, который наследовался matlab.graphics.chartcontainer.ChartContainer базовый класс.

Выходные аргументы

развернуть все

Объект осей или массив объектов осей. Содержимое ax полезно для определения целевых осей, когда вы вызываете функции построения графика в рамках своего определения класса. Можно также использовать ax установить свойства на осях.

В зависимости от содержимого графика, ax может быть скалярный объект осей или массив объектов осей:

  • Если график уже не содержит объект осей, getAxes создает Оси декартовой системы координат и возвращает его как ax.

  • Если график содержит один Декартов, полярный, или географический объект осей, ax возвращен как тот объект.

  • Если график содержит несколько объектов осей, ax массив тех объектов.

getAxes возвращает только Декартовы, полярные, или географические объекты осей. Это не возвращает другие типы объектов, которые являются потомками TiledChartLayout.

Примеры

развернуть все

setup метод является общим местом, чтобы вызвать функции построения графика и установить состояние удержания осей. В обоих случаях необходимо задать целевые оси.

Создайте setup метод в вашем файле определения класса. В рамках того метода вызовите getAxes получить объект осей ax. Затем постройте два графика путем передачи ax в качестве первого аргумента к plot и hold функции. Вызовите hold(ax,'off') в конце метода.

classdef TwoLinesPlot < matlab.graphics.chartcontainer.ChartContainer
    
    properties
        % ...
    end
    
    methods(Access = protected)
        function setup(obj)
            % Get the axes
            ax = getAxes(obj);
            
            % Plot two lines in the axes
            line1 = plot(ax,[1 2 3 4 5],[3 5 1 4 9]);
            hold(ax,'on')
            line2 = plot(ax,[1 2 3 4 5],[30 52 21 9 18]);
            
            % Turn off hold state
            hold(ax,'off')
        end
        function update(obj)
            % ...
        end
    end
end

Задайте setup метод в вашем файле определения класса. В рамках того метода вызовите getAxes получить объект осей ax. Затем установите x - цвет оси и угол шрифта для осей. Вызовите hold(ax,'on') прежде, чем вызвать любые функции построения графика. Затем вызовите hold(ax,'off') в конце метода.

classdef RedAxisPlot < matlab.graphics.chartcontainer.ChartContainer
    
    properties
        % ...
    end
    
    methods(Access = protected)
        function setup(obj)
            ax = getAxes(obj);
            ax.XColor = [1 0 0];
            ax.FontAngle = 'italic';
            hold(ax,'on')
            
            % Call plotting functions
            % ...
            
            hold(ax,'off')
        end
        function update(obj)
            % ...
        end
    end
end

Ограничения

  • Установка OuterPositonInnerPosition , Position, или PositionConstraint свойства на осях могут привести к неожиданным результатам. Вместо этого сконфигурируйте позицию по экземпляру вашего графика.

  • Изменение Parent свойство осей не рекомендуется. Вместо этого задайте Parent свойство на экземпляре вашего графика.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Введенный в R2019b