Исследуйте табличные данные Используя параллельный график координат

То В этом примере показано, как импортировать файл в MATLAB® как таблица, создайте параллель, координирует график от табличных данных, и измените внешний вид графика.

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

Импорт файла как таблица

Загрузите файл примера TemperatureData.csv, который содержит среднесуточные температуры с января 2015 до июля 2016. Считайте файл в таблицу и отобразите первые несколько строк.

tbl = readtable(fullfile(matlabroot,'examples','graphics','TemperatureData.csv'));
head(tbl)
ans=8×4 table
    Year       Month       Day    TemperatureF
    ____    ___________    ___    ____________

    2015    {'January'}     1          23     
    2015    {'January'}     2          31     
    2015    {'January'}     3          25     
    2015    {'January'}     4          39     
    2015    {'January'}     5          29     
    2015    {'January'}     6          12     
    2015    {'January'}     7          10     
    2015    {'January'}     8           4     

Создайте основной параллельный график координат

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

График показывает, что первые восемь строк таблицы обеспечивают температурные данные в течение первых восьми дней в январе 2015. Например, восьмой день был самым холодным из этих восьми дней в среднем.

parallelplot(head(tbl))

ans = 
  ParallelCoordinatesPlot with properties:

            SourceTable: [8x4 table]
    CoordinateVariables: {'Year'  'Month'  'Day'  'TemperatureF'}
          GroupVariable: ''

  Show all properties

Чтобы помочь вам интерпретировать график, MATLAB случайным образом дрожит сюжетные линии по умолчанию так, чтобы они вряд ли наложились отлично вдоль координатных линеек. Например, несмотря на то, что первые восемь наблюдений имеют тот же Year и Month значения, сюжетные линии не являются сбросом с 2015 отметка деления вдоль Year скоординируйте линейку или January отметка деления вдоль Month координатная линейка. Несмотря на то, что дрожание влияет на все координатные переменные, это часто более примечательно вдоль категориальных координатных линеек, потому что это зависит от расстояния между отметками деления. Можно управлять объемом дрожания в графике путем установки Jitter свойство.

Заметьте что некоторые отметки деления вдоль Year координатная линейка является бессмысленными десятичными значениями. Чтобы гарантировать, что отметки деления вдоль координатной линейки соответствуют только значимым значениям, преобразуйте переменную в категориальную переменную при помощи categorical функция.

tbl.Year = categorical(tbl.Year);

Теперь создайте график координат параллели из целой таблицы. Присвойте ParallelCoordinatesPlot возразите против переменной p, и используйте p изменить график после того, как вы создаете его. Например, добавьте заголовок на график с помощью Title свойство.

p = parallelplot(tbl)
p = 
  ParallelCoordinatesPlot with properties:

            SourceTable: [565x4 table]
    CoordinateVariables: {'Year'  'Month'  'Day'  'TemperatureF'}
          GroupVariable: ''

  Show all properties

p.Title = 'Temperature Data';

Сюжетные линии группы

Сгруппируйте линии в графике согласно Year значения путем установки GroupVariable свойство. По умолчанию MATLAB добавляет легенду в график. Можно удалить легенду путем установки LegendVisible свойство к 'off'.

p.GroupVariable = 'Year';

Перестройте координатные переменные в интерактивном режиме

Перестройте координатные переменные в интерактивном режиме, чтобы сравнить их более легко и решить который переменные сохранить в вашем графике.

Откройте свой график в окне рисунка. Кликните по координатной метке в виде галочки и перетащите связанную координатную линейку к местоположению по вашему выбору. Программное обеспечение обрисовывает в общих чертах линейку выбранной координаты в черном прямоугольнике. Например, можно нажать Month координатная метка в виде галочки и перетаскивает координатную линейку направо. Можно затем легко сравнить Month и TemperatureF значения.

Когда вы перестраиваете координатные переменные в интерактивном режиме, обновления программного обеспечения связанный CoordinateTickLabels, CoordinateVariables, и CoordinateData свойства графика.

Для большего количества опций интерактивности смотрите Советы.

Выберите Subset of Coordinate Variables

Отобразите подмножество координатных переменных в p.SourceTable и задайте их порядок в графике путем установки CoordinateVariables свойство p.

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

p.CoordinateVariables = [1 4 2];

В качестве альтернативы можно установить CoordinateVariables свойство при помощи массива строк или массива ячеек имен переменных или логического вектора с true элементы для выбранных переменных.

Измените категории в координатной переменной

Отобразите подмножество категорий в Month и измените порядок категории вдоль координатной линейки в графике.

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

uniqueMonth = {'September','October','November','December','August'};
uniqueMonthIdx = ismember(p.SourceTable.Month,uniqueMonth);
p.SourceTable(uniqueMonthIdx,:) = [];

Расположите месяцы в хронологическом порядке вдоль Month скоординируйте линейку путем обновления исходной таблицы.

categoricalMonth = categorical(p.SourceTable.Month);
newOrder = {'January','February','March','April','May','June','July'};
orderMonth = reordercats(categoricalMonth,newOrder);
p.SourceTable.Month = orderMonth;

Сюжетные линии группы Используя сгруппированные значения

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

min(p.SourceTable.TemperatureF)
ans = -3
max(p.SourceTable.TemperatureF)
ans = 80
binEdges = [-3 10:10:80];
bins = {'00s+/-','10s','20s','30s','40s','50s','60s','70s+'};
groupTemperature = discretize(p.SourceTable.TemperatureF,binEdges,'categorical',bins);

Добавьте сгруппированные температуры в исходную таблицу. Сгруппируйте линии в графике согласно сгруппированным температурным данным.

p.SourceTable.GroupTemperature = groupTemperature;
p.GroupVariable = 'GroupTemperature';

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

p.Color = jet(8);

Смотрите также

Функции

Свойства

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