stackedplot

Сложенный график нескольких переменных с общей осью X

Синтаксис

s = stackedplot(tbl)
s = stackedplot(tbl,vars)
s = stackedplot(___,'XVariable',xvar)
s = stackedplot(X,Y)
s = stackedplot(Y)
s = stackedplot(___,LineSpec)
s = stackedplot(___,Name,Value)
s = stackedplot(parent,___)

Описание

пример

s = stackedplot(tbl) строит переменные таблицы или расписания в сложенном графике и возвращает объект StackedLineChart. Можно использовать s, чтобы изменить свойства сложенного графика после того, как вы создали его. Для списка свойств смотрите StackedLineChart Properties.

Графики функций переменные в отдельных осях Y, сложенных вертикально. Переменные совместно используют общую ось X.

  • Если tbl является таблицей, то графики функций переменные против номеров строк.

  • Если tbl является расписанием, то графики функций переменные против времен строки.

Графики функций stackedplot все числовое, логическое, категориальное, datetime и переменные длительности tbl, и игнорируют табличные переменные, имеющие любой другой тип данных.

пример

s = stackedplot(tbl,vars) графики только переменные таблицы или расписания заданы vars.

s = stackedplot(___,'XVariable',xvar) задает табличную переменную, которая обеспечивает x-значения для сложенного графика. Этот синтаксис поддерживает только таблицы, и не расписания.

пример

s = stackedplot(X,Y) строит столбцы Y вдоль вектора X.

s = stackedplot(Y) строит столбцы Y по сравнению с их номером строки. Диапазоны шкал оси X от 1 до количества строк в Y.

s = stackedplot(___,LineSpec) устанавливает стиль линии, символ маркера и цвет. Можно использовать этот синтаксис с входными параметрами любого из предыдущих синтаксисов.

пример

s = stackedplot(___,Name,Value) свойства наборов для сложенного графика с помощью одного или нескольких аргументов пары Name,Value. Для списка свойств смотрите StackedLineChart Properties. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Настройки пары "имя-значение" применяются ко всем графикам в сложенном графике. Заключите каждое имя свойства в кавычки.

s = stackedplot(parent,___) создает сложенный график в фигуре, панели или вкладке, заданной parent. Опция parent может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Считайте данные от электронной таблицы до таблицы. Затем преобразуйте таблицу в расписание. Первая переменная, которая содержит даты и времена, OutageTime, обеспечивает времена строки для расписания. Отобразите первые пять строк.

tbl = readtable('outages.csv');
tbl = table2timetable(tbl);
head(tbl,5)
ans=5×6 timetable
       OutageTime         Region        Loss     Customers     RestorationTime           Cause      
    ________________    ___________    ______    __________    ________________    _________________

    2002-02-01 12:18    'SouthWest'    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'   
    2003-01-23 00:49    'SouthEast'    530.14    2.1204e+05                 NaT    'winter storm'   
    2003-02-07 21:15    'SouthEast'     289.4    1.4294e+05    2003-02-17 08:14    'winter storm'   
    2004-04-06 05:44    'West'         434.81    3.4037e+05    2004-04-06 06:10    'equipment fault'
    2002-03-16 06:18    'MidWest'      186.44    2.1275e+05    2002-03-18 23:23    'severe storm'   

Сортировка расписания так, чтобы его времена строки были в порядке. Времена строки расписания не должны быть в порядке. Однако, если вы используете времена строки в качестве оси X графика, затем лучше гарантировать, что расписание сортируется по его временам строки.

tbl = sortrows(tbl);
head(tbl,5)
ans=5×6 timetable
       OutageTime         Region        Loss     Customers     RestorationTime         Cause     
    ________________    ___________    ______    __________    ________________    ______________

    2002-02-01 12:18    'SouthWest'    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'
    2002-03-05 17:53    'MidWest'      96.563    2.8666e+05    2002-03-10 14:41    'wind'        
    2002-03-16 06:18    'MidWest'      186.44    2.1275e+05    2002-03-18 23:23    'severe storm'
    2002-03-26 01:59    'MidWest'      388.04    5.6422e+05    2002-03-28 19:55    'winter storm'
    2002-04-20 16:46    'MidWest'       23141           NaN                 NaT    'unknown'     

Создайте сложенный график данных из tbl. Времена строки, OutageTime, обеспечивают значения вдоль оси X. Графики функций stackedplot значения от Loss, Customers и переменных RestorationTime, с каждой переменной, построенной вдоль ее собственной оси Y. Однако график не включает переменные Region и Cause, потому что они содержат данные, которые не могут быть отображены на графике.

s = stackedplot(tbl);

Составьте таблицу от данных о пациентах. Отобразите первые три строки.

tbl = readtable('patients.xls');
head(tbl,3)
ans=3×10 table
     LastName      Gender     Age             Location              Height    Weight    Smoker    Systolic    Diastolic    SelfAssessedHealthStatus
    __________    ________    ___    ___________________________    ______    ______    ______    ________    _________    ________________________

    'Smith'       'Male'      38     'County General Hospital'        71       176      true        124          93              'Excellent'       
    'Johnson'     'Male'      43     'VA Hospital'                    69       163      false       109          77              'Fair'            
    'Williams'    'Female'    38     'St. Mary's Medical Center'      64       131      false       125          83              'Good'            

Постройте только четыре из переменных из таблицы.

stackedplot(tbl,{'Height','Weight','Systolic','Diastolic'});

Создайте расписание и отобразите его первые три строки.

tbl = readtable('outages.csv');
tbl = table2timetable(tbl);
tbl = sortrows(tbl);
head(tbl,3)
ans=3×6 timetable
       OutageTime         Region        Loss     Customers     RestorationTime         Cause     
    ________________    ___________    ______    __________    ________________    ______________

    2002-02-01 12:18    'SouthWest'    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'
    2002-03-05 17:53    'MidWest'      96.563    2.8666e+05    2002-03-10 14:41    'wind'        
    2002-03-16 06:18    'MidWest'      186.44    2.1275e+05    2002-03-18 23:23    'severe storm'

Переупорядочьте переменные путем определения их в порядке, который отличается от их порядка в таблице. Например, RestorationTime является последней переменной в расписании, которое может быть построено. По умолчанию stackedplot помещает его в нижней части графика. Но можно переупорядочить переменные, чтобы поместить RestorationTime наверху.

stackedplot(tbl,{'RestorationTime','Loss','Customers'});

Существуют также другие способы переупорядочить переменные.

  • Задайте их согласно их числовому порядку в таблице: stackedplot(tbl,[4 2 3]);

  • Переупорядочьте значения в свойстве DisplayVariables объекта StackedLineChart: s = stackedplot(tbl); s.DisplayVariables = {'RestorationTime','Loss','Customers'}

Составьте таблицу от подмножества данных о пациентах, с помощью Weight, Systolic и переменных Diastolic.

load patients
tbl = table(Weight,Systolic,Diastolic);
head(tbl,3)
ans=3×3 table
    Weight    Systolic    Diastolic
    ______    ________    _________

     176        124          93    
     163        109          77    
     131        125          83    

Создайте сложенный график с Systolic, и Diastolic построил использование той же оси Y. Чтобы построить переменные вместе, задайте их во вложенном массиве ячеек.

vars = {{'Systolic','Diastolic'},'Weight'}
vars = 1x2 cell array
    {1x2 cell}    {'Weight'}

stackedplot(tbl,vars);

Создайте числовую матрицу и числовой вектор.

X = [0:4:20]
X = 1×6

     0     4     8    12    16    20

Y = randi(100,6,3)
Y = 6×3

    82    28    96
    91    55    49
    13    96    81
    92    97    15
    64    16    43
    10    98    92

Создайте сложенный график с помощью X и Y.

stackedplot(X,Y);

Загрузите расписание, которое имеет набор погодных измерений. Отобразите его первые три строки.

load outdoors
outdoors(1:3,:)
ans=3×4 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

Создайте сложенный график. Задайте заголовок и метки для аргументов пары "имя-значение" использования осей Y. Можно использовать пары значений имени, чтобы изменить любые свойства от их значений значений по умолчанию. (Также обратите внимание, что можно задать символ степени с помощью char(176).)

degreeSymbol = char(176);
newYlabels = {'RH (%)',['T (' degreeSymbol 'F)'],'P (in Hg)'};
stackedplot(outdoors,'Title','Weather Data','DisplayLabels',newYlabels);

Функция stackedplot возвращает объект StackedLineChart. Можно использовать его, чтобы установить то же значение свойства для всех графиков или установить различные значения свойств для индивидуальных участков. В этом примере сначала измените ширины строки для всех графиков в сложенном графике. Затем используйте свойство PlotType индивидуальных участков, так, чтобы сложенный график имел линейный график, график рассеивания и график ступеньки.

Загрузите расписание, которое имеет набор погодных измерений.

load outdoors
outdoors(1:3,:)
ans=3×4 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

Создайте сложенный график и возвратите объект StackedLineChart.

s = stackedplot(outdoors)

s = 
  StackedLineChart with properties:

         SourceTable: [51x3 timetable]
    DisplayVariables: {'Humidity'  'TemperatureF'  'PressureHg'}
               Color: [0 0.4470 0.7410]
           LineStyle: '-'
           LineWidth: 0.5000
              Marker: 'none'
          MarkerSize: 6

  Show all properties

Объект обеспечивает доступ ко многим свойствам, которые применяются ко всем графикам. Например, можно использовать s.LineWidth, чтобы сделать строки шире.

s.LineWidth = 2;

Объект также обеспечивает доступ к массивам объектов, которые можно использовать, чтобы изменить строки и оси Y для индивидуальных участков. К свойствам доступа отдельных строк используйте s.LineProperties. Для каждого графика можно задать различный стиль линии, маркер, тип графика, и так далее.

s.LineProperties
ans = 
  3x1 StackedLineProperties array with properties:

    Color
    MarkerFaceColor
    MarkerEdgeColor
    LineStyle
    LineWidth
    Marker
    MarkerSize
    PlotType

Измените второй график на график рассеивания и третий график к графику ступеньки, с помощью свойства PlotType.

s.LineProperties(2).PlotType = 'scatter';
s.LineProperties(3).PlotType = 'stairs';

Также можно получить доступ к отдельным осям Y через свойство s.AxesProperties.

s.AxesProperties
ans = 
  3x1 StackedAxesProperties array with properties:

    YLimits
    LegendLabels
    LegendLocation
    LegendVisible

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

свернуть все

Входная таблица или расписание.

Переменные во входной таблице, заданной как массив ячеек из символьных векторов, массив строк, числовой массив или логический массив.

Если vars является массивом ячеек, это также может быть вложенный массив ячеек. Графики функций stackedplot все переменные заданы во вложенной ячейке в той же оси Y.

Табличная переменная, которая содержит x-значения, заданные как вектор символов, скаляр строки, целое число или логический массив.

Можно задать xvar только, когда входной параметр tbl является таблицей, не расписанием.

x-значения, заданные как числовое, datetime, длительность или логический вектор. Длина X должна равняться количеству строк Y.

y-значения, заданные как числовое, datetime, длительность, категориальный, или логический массив. Графики функций stackedplot каждый столбец в отдельной оси Y.

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

Пример: '--or' является красной пунктирной линией с круговыми маркерами

Стиль линииОписание
-Сплошная линия (значение по умолчанию)
--Пунктирная линия
:Пунктирная линия
-.Штрихпунктирная линия
МаркерОписание
oКруг
+Знак «плюс»
*Звездочка
.Точка
xКрест
sКвадрат
dРомб
^Треугольник, направленный вверх
vНисходящий треугольник
>Треугольник, указывающий вправо
<Треугольник, указывающий влево
pПентаграмма
hГексаграмма
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Родительский контейнер, в котором можно построить, заданный как Figure, Panel или объект Tab.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Marker','o','MarkerSize',10

Сложенные свойства линии на графике, перечисленные здесь, являются только подмножеством, характерным для всех сложенных графиков, является ли источник данных таблицей или массивом. Для полного списка смотрите StackedLineChart Properties.

Цвет линии, заданный как триплет RGB, шестнадцатеричный цветовой код или один из параметров цвета, перечислен в первой таблице.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB® во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: 'blue'

Пример: [0 0 1]

Пример: '#0000FF'

Стиль линии, заданный как одна из опций, перечислен в этой таблице.

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

Ширина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на края маркера.

Символ маркера, заданный как один из маркеров в этой таблице. По умолчанию сложенная линия на графике не имеет маркеров. Добавьте маркеры в каждой точке данных вдоль строки путем определения символа маркера.

ЗначениеОписание
'o'Круг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
'x'Крест
square' или 's'Квадрат
'diamond' или 'd'Ромб
'^'Треугольник, направленный вверх
'v'Нисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Пример: 'Marker','+'

Пример: 'Marker','diamond'

Размер маркера, заданный как положительное значение в точках, где 1 точка = 1/72 дюйма.

Советы

  • Чтобы в интерактивном режиме исследовать данные в вашем сложенном графике, используйте эти функции.

    • Изменение масштаба — Использование колесико прокрутки, чтобы масштабировать.

    • Панорамирование — Перетаскивание сложенный график панорамировать через x-значения.

    • Data Cursor — Наводит на местоположение, чтобы отобразить y-значения для каждого графика.

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте