Пакет: matlab.graphics.chartcontainer
Базовый класс для разработки объектов диаграммы
matlab.graphics.chartcontainer.ChartContainer
класс для определения вашего собственного класса объектов диаграммы. Когда вы задаете подкласс этого базового класса, можно использовать ChartContainer
свойства и методы, чтобы создать ваши объекты диаграммы. Задайте этот синтаксис на первой линии вашего файла определения класса, чтобы непосредственно наследоваться ChartContainer
класс, где MyChart
имя вашего объекта:
classdef MyChart < matlab.graphics.chartcontainer.ChartContainer
matlab.graphics.chartcontainer.ChartContainer
классом является handle
класс.
Abstract | true |
HandleCompatible | true |
Для получения информации об атрибутах класса см. Атрибуты класса.
InnerPosition
— Стройте диаграмму размера и местоположения, исключая поля[left bottom width height]
Стройте диаграмму размера и местоположения, исключая поля для художественных оформлений, таких как подписи по осям и отметки деления. Задайте это свойство как вектор формы [left bottom width height]
. Значения находятся в модулях, заданных Units
свойство.
left
— Расстояние от левого края родительского контейнера к внутреннему левому краю графика, который исключает поля. Как правило, родительский контейнер является фигурой, панелью или вкладкой.
bottom
— Расстояние от базового края родительского контейнера к внутреннему базовому краю графика, который исключает поля.
width
— Ширина графика, исключая поля.
height
— Высота графика, исключая поля.
Установка этого свойства не оказывает влияния, когда родительским элементом графика является TiledChartLayout
.
GetAccess | public |
SetAccess | public |
Dependent | true |
NonCopyable | true |
OuterPosition
— Стройте диаграмму размера и местоположения, включая поля[left bottom width height]
Стройте диаграмму размера и местоположения, включая поля для художественных оформлений, таких как подписи по осям и отметки деления. Задайте это свойство как вектор формы [left bottom width height]
. Значения находятся в модулях, заданных Units
свойство.
left
— Расстояние от левого края родительского контейнера к внешнему левому краю графика, который включает поля. Как правило, родительский контейнер является фигурой, панелью или вкладкой.
bottom
— Расстояние от базового края родительского контейнера к внешнему базовому краю графика, который включает поля.
width
— Ширина графика, включая поля.
height
— Высота графика, включая поля.
Установка этого свойства не оказывает влияния, когда родительским элементом графика является TiledChartLayout
.
GetAccess | public |
SetAccess | public |
Dependent | true |
NonCopyable | true |
Position
— Стройте диаграмму размера и местоположения, исключая поля[left bottom width height]
Стройте диаграмму размера и местоположения, исключая поля для художественных оформлений, таких как подписи по осям и отметки деления. Задайте это свойство как вектор формы [left bottom width height]
. Это свойство эквивалентно InnerPosition
свойство.
Установка этого свойства не оказывает влияния, когда родительским элементом графика является TiledChartLayout
.
GetAccess | public |
SetAccess | public |
Dependent | true |
NonCopyable | true |
PositionConstraint
— Положение, чтобы содержать постоянный'outerposition'
| 'innerposition'
Свойство Position содержать постоянный при добавлении, удаляя или изменяя художественные оформления в виде одного из следующих значений:
'outerposition'
— OuterPosition
свойство остается постоянным, когда вы добавляете, удаляете, или художественные оформления изменения, такие как заголовок или подпись по осям. Если какие-либо позиционные корректировки необходимы, MATLAB® настраивает InnerPosition
свойство.
'innerposition'
— InnerPosition
свойство остается постоянным, когда вы добавляете, удаляете, или художественные оформления изменения, такие как заголовок или подпись по осям. Если какие-либо позиционные корректировки необходимы, MATLAB настраивает OuterPosition
свойство.
Установка этого свойства не оказывает влияния, когда родительским контейнером является TiledChartLayout
.
GetAccess | public |
SetAccess | public |
Dependent | true |
NonCopyable | true |
Units
— Модули положения'normalized'
(значение по умолчанию) | 'inches'
| 'centimeters'
| 'characters'
| 'points'
| 'pixels'
Модули положения в виде значения из следующей таблицы. Чтобы сменить положение графика в определенных модулях, установите Units
свойство прежде, чем задать Position
свойство. Если вы задаете Units
и Position
свойства в одной команде (использующий пары "имя-значение"), убедиться задать Units
перед Position
.
Units | Описание |
---|---|
'normalized' (значение по умолчанию) | Нормированный относительно родительского контейнера, который обычно является фигурой, панелью или вкладкой. Левый нижний угол контейнера сопоставляет с (0,0) , и правый верхний угол сопоставляет с (1,1) . |
'inches' | 'inches'. |
'centimeters' | 'centimeters'. |
'characters' | На основе стандартного шрифта графического корневого объекта:
|
'points' | Точки книгопечатания. Один пункт равен 1/72 дюйма. |
'pixels' | Расстояния в пикселях независимы от вашего системного разрешения по системам Макинтоша и Windows®:
В системах Linux® размер пикселя определяется вашим системным разрешением. |
GetAccess | public |
SetAccess | public |
Dependent | true |
NonCopyable | true |
Layout
— Параметры макетаLayoutOptions
массив (значение по умолчанию) | TiledChartLayoutOptions
Параметры макета в виде TiledChartLayoutOptions
объект. Это свойство задает опции, когда экземпляр вашего графика является дочерним элементом мозаичного размещения графика. Если экземпляр не является дочерним элементом мозаичного размещения графика (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не оказывает влияния. В противном случае можно расположить график в размещении путем установки Tile
и TileSpan
свойства на TiledChartLayoutOptions
объект.
Например, этот код помещает объект диаграммы c
в третью мозаику мозаичного размещения графика.
c.Layout.Tile = 3;
Чтобы заставить график охватить несколько мозаик, задайте TileSpan
свойство как двухэлементный вектор. Например, этот график охватывает 2
строки и 3
столбцы мозаик.
c.Layout.TileSpan = [2 3];
Мозаичные размещения графика не поддержаны для осей, возвращенных getAxes
метод. Вместо этого можно поместить экземпляр графика в мозаичное размещение графика.
GetAccess | public |
SetAccess | public |
Visible
— Состояние видимости'on'
(значение по умолчанию) | логическое значение включения - выключенияСостояние видимости в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Отобразите график.
'off'
— Скройте график, не удаляя его. Все еще можно получить доступ к свойствам графика, когда он не отображается.
GetAccess | public |
SetAccess | public |
Dependent | true |
GetObservable | true |
SetObservable | true |
Parent
— Родительский контейнерFigure
объект (значение по умолчанию) | Panel
возразите | Tab
возразите | TiledChartLayout
объектРодительский контейнер графика в виде Figure
Панель
, Tab
, или TiledChartLayout
объект.
GetAccess | public |
SetAccess | public |
Transient | true |
Dependent | true |
GetObservable | true |
SetObservable | true |
NonCopyable | true |
HandleVisibility
— Видимость указателя на объект'on'
(значение по умолчанию) | 'off'
Видимость объекта диаграммы обрабатывает в его родительском списке дочерних элементов в виде одного из этих значений:
'on'
— Указатель объекта диаграммы всегда отображается.
'off'
— Указатель объекта диаграммы невидим в любом случае. Эта опция полезна для предотвращения непреднамеренных изменений в графике другой функцией. Чтобы временно скрыть указатель во время выполнения этой функции, установите HandleVisibility
к 'off'
.
'callback'
— Указатель объекта диаграммы отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в Командном окне, но это позволяет функциям обратного вызова получать доступ к нему.
Если объект не перечислен в Children
свойство родительского объекта графика, затем функционирует, которые получают указатели на объект путем поиска иерархии объектов, или запрос свойств указателя не может возвратить его. Это включает get
findobj
gca
gcf
gco
newplot
cla
clf
, и close
.
Скрытые указатели на объекты все еще действительны. Установите корневой ShowHiddenHandles
свойство к 'on'
перечислять все указатели на объект, независимо от их HandleVisibility
установка свойства.
GetAccess | public |
SetAccess | public |
Dependent | true |
GetObservable | true |
SetObservable | true |
Задайте класс под названием SmoothPlot
это строит набор данных с помощью точечной синей линии со сглаживавшей версией линии.
Чтобы задать класс, создайте файл под названием SmoothPlot.m
это содержит следующее определение класса с этими функциями:
XData
и YData
публичные свойства, которые хранят x-и данные y-координаты для исходной линии.
SmoothColor
и SmoothWidth
публичные свойства, которые управляют цветом и шириной ровной линии.
OriginalLine
и SmoothLine
частные prperties, которые хранят Line
объекты для исходных и сглаживавших данных.
setup
метод, который инициализирует OriginalLine
и SmoothLine
.
update
метод, который обновляет график, когда пользователь изменяет значение свойства.
createSmoothData
метод, который вычисляет сглаживавшую версию YData
.
classdef SmoothPlot < matlab.graphics.chartcontainer.ChartContainer properties XData (1,:) double = NaN YData (1,:) double = NaN SmoothColor (1,3) double {mustBeGreaterThanOrEqual(SmoothColor,0),... mustBeLessThanOrEqual(SmoothColor,1)} = [0.9290 0.6940 0.1250] SmoothWidth (1,1) double = 2 end properties(Access = private,Transient,NonCopyable) OriginalLine (1,1) matlab.graphics.chart.primitive.Line SmoothLine (1,1) matlab.graphics.chart.primitive.Line end methods(Access = protected) function setup(obj) % Create the axes ax = getAxes(obj); % Create the original and smooth lines obj.OriginalLine = plot(ax,NaN,NaN,'LineStyle',':'); hold(ax,'on') obj.SmoothLine = plot(ax,NaN,NaN); hold(ax,'off') end function update(obj) % Update line data obj.OriginalLine.XData = obj.XData; obj.OriginalLine.YData = obj.YData; obj.SmoothLine.XData = obj.XData; obj.SmoothLine.YData = createSmoothData(obj); % Update line color and width obj.SmoothLine.Color = obj.SmoothColor; obj.SmoothLine.LineWidth = obj.SmoothWidth; end function sm = createSmoothData(obj) % Calculate smoothed data v = ones(1,10)*0.1; sm = conv(obj.YData,v,'same'); end end end
Затем создайте пару x
и y
векторы. Постройте x
и y
путем вызова SmoothPlot
метод конструктора, который обеспечивается ChartContainer
класс. Задайте 'XData'
и 'YData'
аргументы пары "имя-значение" и возвращают объект как c
.
x = 1:1:100; y = 10*sin(x./5) + 8*sin(10.*x + 0.5); c = SmoothPlot('XData',x,'YData',y);
Используйте c
изменить цвет ровной линии к красному.
c.SmoothColor = [1 0 0];
ChartContainer
подклассы присваивают значения свойств после setup
запуски методаПоведение изменяется в R2020a
Когда вы создаете экземпляр ChartContainer
разделите на подклассы и передайте аргументы пары "имя-значение" свойства конструктору, значения свойств присвоены после setup
запуски метода. В R2019b значения свойств присвоены перед setup
запуски метода.
Если setup
метод ваших ссылок класса значение свойства на объекте, можно обновить код любым из следующих способов:
Присвойте значение по умолчанию для свойства, когда вы зададите его.
Переместите код, который ссылается на свойство к update
метод.
ActivePositionProperty
не рекомендуетсяНе рекомендуемый запуск в R2020a
Запуск в R2020a, установка или получение ActivePositionProperty
не рекомендуется. Используйте PositionConstraint
свойство вместо этого.
Нет никаких планов удалить ActivePositionProperty
в это время, но свойство больше не перечисляется, когда вы вызываете set
получение
, или properties
функции на объекте диаграммы.
Чтобы обновить ваш код, внесите эти изменения:
Замените все экземпляры ActivePositionProperty
с PositionConstraint
.
Замените все ссылки на 'position'
опция с 'innerposition'
опция.
matlab.graphics.chartcontainer.mixin.Colorbar
| matlab.graphics.chartcontainer.mixin.Legend
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.