getLayout

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

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

Синтаксис

tcl = getLayout(obj)

Описание

tcl = getLayout(obj) возвращает размещение мозаичного графика для объекта графика, который наследует от matlab.graphics.chartcontainer.ChartContainer базовый класс.

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

расширить все

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

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

расширить все

TiledChartLayout объект. Использование tcl при разработке диаграммы, содержащей полярный график, географический график или плиточное размещение из нескольких графиков. Можно сконфигурировать определенные аспекты размещения, такие как количество плиток, расположение каждого объекта осей и интервалы между плитками.

Признаки

Protectedtrue

Чтобы узнать об атрибутах методов, см. «Атрибуты метода».

Примеры

расширить все

Определите класс, называемый CartPolarPlot который строит графики данных в Декартовых и полярных координатах.

Чтобы определить класс, создайте файл с именем CartPolarPlot.m который содержит следующее определение класса с этими функциями:

  • Три общественной собственности: XData и YData для хранения данных о координатах и LineColor для управления цветом линий

  • Четыре частная собственность, которые хранят эти две линии и объекты осей

  • A setup метод, который конфигурирует размещение, создает оси и инициализирует два Line объекты

  • Система координат update метод, который обновляет Line объекты, когда пользователь изменяет значение одних или нескольких общественной собственности

classdef CartPolarPlot < matlab.graphics.chartcontainer.ChartContainer
    properties
        XData (1,:) double = NaN
        YData (1,:) double = NaN
        LineColor (1,3) double {mustBeGreaterThanOrEqual(LineColor,0),...
            mustBeLessThanOrEqual(LineColor,1)} = [.5 0 1]
    end
    properties(Access = private,Transient,NonCopyable)
        CartesianLine (1,1) matlab.graphics.chart.primitive.Line
        PolarLine (1,1) matlab.graphics.chart.primitive.Line
        CartesianAx (1,1) matlab.graphics.axis.Axes
        PolarAx (1,1) matlab.graphics.axis.PolarAxes
    end
    
    methods(Access = protected)
        function setup(obj)
            % Get the layout and create the axes
            tcl = getLayout(obj);
            tcl.GridSize = [1 2];
            obj.CartesianAx = axes(tcl);
            obj.PolarAx = polaraxes(tcl);
            
            % Move the polar axes to the second tile
            obj.PolarAx.Layout.Tile = 2;
            
            % Create the Cartesian and polar lines
            obj.CartesianLine = plot(obj.CartesianAx,NaN,NaN);
            obj.PolarLine = polarplot(obj.PolarAx,NaN,NaN);
        end
        function update(obj)
            % Update Cartesian line
            obj.CartesianLine.XData = obj.XData;
            obj.CartesianLine.YData = obj.YData;
            obj.CartesianLine.Color = obj.LineColor;
            
            % Update polar line
            obj.PolarLine.Color = obj.LineColor;
            obj.PolarLine.ThetaData = obj.XData;
            obj.PolarLine.RData = obj.YData;
        end
    end
end

Затем создайте набор x - и y - координат. Затем постройте график координат путем вызова CartPolarPlot метод конструктора с 'XData' и 'YData' Аргументы пары "имя-значение".

x = 0:0.01:2*pi;
y = sin(2*x).*cos(2*x);
CartPolarPlot('XData',x,'YData',y);

Введенный в R2020a