stackedplot

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

Описание

пример

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

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

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

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

пример

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

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

пример

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

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

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

пример

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

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

пример

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

Примеры

свернуть все

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

tbl = readtimetable("outages.csv","TextType","string");
head(tbl,5)
ans=5×5 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×5 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 переменные, потому что они содержат данные, которые не могут быть отображены на графике.

stackedplot(tbl)

Figure contains an object of type stackedplot.

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

tbl = readtable("patients.xls","TextType","string");
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"])

Figure contains an object of type stackedplot.

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

tbl = readtimetable("outages.csv","TextType","string");
tbl = sortrows(tbl);
head(tbl,3)
ans=3×5 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"])

Figure contains an object of type stackedplot.

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

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

  • Возвратите StackedLineChart возразите и переупорядочьте значения в его DisplayVariables свойство: 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 и Weight использование его собственной оси Y. Во-первых, задайте vars как массив ячеек с двумя элементами. Первые группы элемента "Systolic" и "Diastolic" вместе в массиве строк. Они построены вместе на общей оси Y. Вторым элементом массива ячеек является "Weight". Это построено на его собственной оси Y.

vars = {["Systolic","Diastolic"],"Weight"}
vars=1×2 cell array
    {["Systolic"    "Diastolic"]}    {["Weight"]}

stackedplot(tbl,vars)

Figure contains an object of type stackedplot.

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

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)

Figure contains an object of type stackedplot.

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

load outdoors
outdoors(1:3,:)
ans=3×3 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 с помощью аргументов name-value. Можно использовать аргументы name-value, чтобы изменить любые свойства от их значений значений по умолчанию. (Также обратите внимание, что можно задать символ степени с помощью char(176).)

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

Figure contains an object of type stackedplot. The chart of type stackedplot has title Weather Data.

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

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

load outdoors
outdoors(1:3,:)
ans=3×3 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)

Figure contains an object of type stackedplot.

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;

Figure contains an object of type stackedplot.

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

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

    Color
    MarkerFaceColor
    MarkerEdgeColor
    LineStyle
    LineWidth
    Marker
    MarkerSize
    PlotType

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

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

Figure contains an object of type stackedplot.

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

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

    YLimits
    YScale
    LegendLabels
    LegendLocation
    LegendVisible

Например, измените y-пределы первого графика.

s.AxesProperties(1).YLimits = [46 54];

Figure contains an object of type stackedplot.

Импортируйте данные в расписание. Затем сделайте совмещенный график. По умолчанию все графики имеют линейные шкалы и на их x-и на осях Y.

tbl = readtimetable("outages.csv");
tbl = sortrows(tbl);
s = stackedplot(tbl)

Figure contains an object of type stackedplot.

s = 
  StackedLineChart with properties:

         SourceTable: [1468x5 timetable]
    DisplayVariables: {'Loss'  'Customers'  'RestorationTime'}
               Color: [0 0.4470 0.7410]
           LineStyle: '-'
           LineWidth: 0.5000
              Marker: 'none'
          MarkerSize: 6

  Show all properties

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

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

    YLimits
    YScale
    LegendLabels
    LegendLocation
    LegendVisible

Чтобы превратить первые и вторые графики в полулогарифмические графики, с логарифмическими шкалами на их осях Y, устанавливают их YScale свойства к 'log'.

s.AxesProperties(1).YScale = 'log';
s.AxesProperties(2).YScale = 'log';

Figure contains an object of type stackedplot.

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

свернуть все

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

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

Если vars массив ячеек, затем это может быть массив ячеек из символьных векторов (где каждый вектор символов называет одну переменную), или это также может быть вложенный массив ячеек (где каждым элементом массива ячеек является массив, который группируется несколько переменных). Например, если vars = {'A','B','C'}, затем переменные AB, и C каждый построены на их собственных осях Y. Но если vars = {["A","B"],"C"}, затем A и B построены вместе на одной оси Y и C построен на втором yось.

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

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

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

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

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

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

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

Sample of solid line

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

Sample of dashed line

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

Sample of dotted line

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

Sample of dash-dotted line, with alternating dashes and dots

МаркерОписаниеПолучившийся маркер
'o'Круг

Sample of circle marker

'+'Знак «плюс»

Sample of plus sign marker

'*'Звездочка

Sample of asterisk marker

'.'Точка

Sample of point marker

'x'Крест

Sample of cross marker

'_'Горизонтальная линия

Sample of horizontal line marker

'|'Вертикальная линия

Sample of vertical line marker

's'Квадрат

Sample of square marker

'd'Ромб

Sample of diamond line marker

'^'Треугольник, направленный вверх

Sample of upward-pointing triangle marker

'v'Нисходящий треугольник

Sample of downward-pointing triangle marker

'>'Треугольник, указывающий вправо

Sample of right-pointing triangle marker

'<'Треугольник, указывающий влево

Sample of left-pointing triangle marker

'p'Пентаграмма

Sample of pentagram marker

'h'Гексаграмма

Sample of hexagram marker

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

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Родительский контейнер в виде FigureПанель, Tab, TiledChartLayout, или GridLayout объект.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Пример: 'blue'

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

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

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

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

Sample of solid line

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

Sample of dashed line

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

Sample of dotted line

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

Sample of dash-dotted line, with alternating dashes and dots

'none'Никакая линияНикакая линия

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

Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы устанавливаете ширину линии на значение, которое меньше ширины пикселя в вашей системе, отображения линии как один пиксель шириной.

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

МаркерОписаниеПолучившийся маркер
'o'Круг

Sample of circle marker

'+'Знак «плюс»

Sample of plus sign marker

'*'Звездочка

Sample of asterisk marker

'.'Точка

Sample of point marker

'x'Крест

Sample of cross marker

'_'Горизонтальная линия

Sample of horizontal line marker

'|'Вертикальная линия

Sample of vertical line marker

's'Квадрат

Sample of square marker

'd'Ромб

Sample of diamond line marker

'^'Треугольник, направленный вверх

Sample of upward-pointing triangle marker

'v'Нисходящий треугольник

Sample of downward-pointing triangle marker

'>'Треугольник, указывающий вправо

Sample of right-pointing triangle marker

'<'Треугольник, указывающий влево

Sample of left-pointing triangle marker

'p'Пентаграмма

Sample of pentagram marker

'h'Гексаграмма

Sample of hexagram marker

'none'Никакие маркерыНе применяется

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

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

свернуть все

StackedLineChart объект, который является автономной визуализацией. Используйте s установить свойства на совмещенном графике после создания его.

Больше о

свернуть все

Автономная визуализация

Автономная визуализация является графиком, спроектированным для особых целей, которые работают независимо из других графиков. В отличие от других графиков такой как plot и surf, автономной визуализации встроили предварительно сконфигурированный объект осей в него, и некоторые индивидуальные настройки не доступны. Автономная визуализация также имеет эти характеристики:

  • Это не может быть объединено с другими графическими элементами, такими как линии, закрашенные фигуры или поверхности. Таким образом, hold команда не поддерживается.

  • gca функция может возвратить объект диаграммы как текущую систему координат.

  • Можно передать объект диаграммы многим функциям MATLAB, которые принимают объект осей как входной параметр. Например, можно передать объект диаграммы title функция.

Советы

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

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

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

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

Введенный в R2018b