тепловая карта

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

Синтаксис

h = heatmap(tbl,xvar,yvar)
h = heatmap(tbl,xvar,yvar,'ColorVariable',cvar)
h = heatmap(cdata)
h = heatmap(xvalues,yvalues,cdata)
h = heatmap(___,Name,Value)
h = heatmap(parent,___)

Описание

пример

h = heatmap(tbl,xvar,yvar) создает тепловую карту из таблицы tbl и возвращает объект HeatmapChart. Входной параметр xvar указывает на табличную переменную, чтобы отобразиться вдоль оси X. Входной параметр yvar указывает на табличную переменную, чтобы отобразиться вдоль оси Y. Цвета по умолчанию основаны на агрегации количества, которая составляет число раз, каждая пара значений x и y появляется вместе в таблице. Используйте h, чтобы изменить тепловую карту после того, как это будет создано. Для списка свойств смотрите HeatmapChart Properties.

пример

h = heatmap(tbl,xvar,yvar,'ColorVariable',cvar) использует табличную переменную, заданную cvar, чтобы вычислить цветные данные. Метод расчета по умолчанию является средней агрегацией.

пример

h = heatmap(cdata) создает тепловую карту из матричного cdata. Тепловая карта имеет одну ячейку для каждого значения в cdata.

пример

h = heatmap(xvalues,yvalues,cdata) задает метки для значений, которые появляются вдоль оси X и оси Y.

пример

h = heatmap(___,Name,Value) задает дополнительные опции для тепловой карты с помощью одного или нескольких аргументов в виде пар "имя-значение". Задайте опции после всех других входных параметров. Для списка свойств смотрите HeatmapChart Properties.

h = heatmap(parent,___) создает тепловую карту в фигуре, панели или вкладке, заданной parent.

Примеры

свернуть все

Создайте тепловую карту из таблицы данных для медицинских пациентов.

Загрузите набор данных patients и составьте таблицу от подмножества переменных, загруженных в рабочую область. Затем создайте тепловую карту, которая считает общее количество пациентов с тем же набором значений SelfAssessedHealthStatus и Smoker.

load patients
tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,...
    Smoker,Weight,Location);
h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');

Создайте тепловую карту и переупорядочьте метки вдоль оси Y.

Загрузите набор данных patients и создайте тепловую карту из данных. Присвойте объект HeatmapChart переменному h.

load patients
tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,...
    Smoker,Weight,Location);
h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');

Переупорядочьте метки вдоль оси Y.

h.YDisplayData = {'Excellent','Good','Fair','Poor'};

Также можно переупорядочить метки путем изменения данных на категориальные данные и затем переупорядочения категорий с помощью функции reordercats. Точно так же можно добавить, удалить или переименовать метки тепловой карты с помощью addcats, removecats, или функции renamecats, соответственно.

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

Загрузите набор данных patients и создайте тепловую карту из данных. Окрасьте каждую ячейку с помощью среднего возраста пациентов с конкретной парой Smoker и значений SelfAssessedHealthStatus путем установки опции ColorVariable на 'Age'.

load patients
tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,...
    Smoker,Weight,Location);
h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus','ColorVariable','Age');

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

Загрузите набор данных пациентов и создайте тепловую карту из данных. Окрасьте каждую ячейку с помощью среднего возраста пациентов с конкретной парой значений SelfAssessedHealthStatus и Smoker. Задайте опцию ColorVariable как 'Age' и опцию ColorMethod как 'median'.

load patients
tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,...
    Smoker,Weight,Location);
h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus','ColorVariable','Age','ColorMethod','median');

Создайте матрицу данных. Затем создайте тепловую карту матричных значений. Метки по умолчанию вдоль оси X и оси Y появляются как 1, 2, 3, и так далее.

cdata = [45 60 32; 43 54 76; 32 94 68; 23 95 58];
h = heatmap(cdata);

Создайте матрицу данных. Затем создайте тепловую карту матричных значений. Используйте пользовательские метки вдоль оси X и оси Y путем определения первых двух входных параметров как меток, которые вы хотите. Задайте заголовок и подписи по осям путем установки свойств объекта HeatmapChart.

cdata = [45 60 32; 43 54 76; 32 94 68; 23 95 58];
xvalues = {'Small','Medium','Large'};
yvalues = {'Green','Red','Blue','Gray'};
h = heatmap(xvalues,yvalues,cdata);

h.Title = 'T-Shirt Orders';
h.XLabel = 'Sizes';
h.YLabel = 'Colors';

Создайте тепловую карту и нормализуйте цвета вдоль каждого столбца или строки путем установки свойства ColorScaling.

Считайте файл примера outages.csv в таблицу. Файл примера содержит данные, представляющие отключения электричества электроэнергетики в, Объединяет состояния. Таблица содержит шесть столбцов: Region, OutageTime, Loss, Customers, RestorationTime и Cause. Отобразите первые пять строк каждого столбца.

T = readtable('outages.csv');
T(1:5,:)
ans=5×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

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

Создайте тепловую карту, которая показывает различные области вдоль оси X и различные причины отключения электричества вдоль оси Y. В каждой ячейке покажите, сколько раз каждая область испытала отключение электроэнергии из-за конкретной причины.

h = heatmap(T,'Region','Cause');

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

h.ColorScaling = 'scaledcolumns';

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

h.ColorScaling = 'scaledrows';

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

Считайте файл примера Temperature.csv в таблицу. Файл содержит три столбца: Month, Year и TemperatureF.

tbl = readtable(fullfile(matlabroot,'examples','graphics','TemperatureData.csv'));

Создайте категориальные массивы из Month и столбцов Year таблицы. Затем определите уникальные месяцы и годы, чтобы использовать в качестве меток вдоль оси X и оси Y.

months = categorical(tbl.Month);
years = categorical(tbl.Year);
xlabels = categories(months);
ylabels = categories(years);

Определите итоговый размер данных итогового цвета на основе номера уникальных месяцев и лет.

nummonths = numel(xlabels);
numyears = numel(ylabels);

Преобразуйте категориальный months и массивы years в числовые индексы, чтобы использовать с функцией accumarray. Вычислите цветные данные как максимальную температуру для каждой комбинации месяца и года с помощью функции accumarray. Используйте NaN для недостающих комбинаций месяца и года.

x = double(months);
y = double(years);
temps = tbl.TemperatureF;
cdata = accumarray([y,x],temps,[numyears,nummonths],@max,NaN);

Создайте тепловую карту. Маркируйте ось X и ось Y с месяцами и годами, соответственно. Окрасьте ячейки тепловой карты с помощью вычисленных матричных данных.

h = heatmap(xlabels,ylabels,cdata);

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

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

свернуть все

Таблица Source, заданная как таблица или расписание.

Можно составить таблицу от переменных рабочей области с помощью функции table, или можно импортировать данные как таблицу с помощью функции readtable. Можно создать расписание из переменных рабочей области с помощью функции timetable.

Свойство SourceTable объектно-ориентированной памяти HeatmapChart исходная таблица.

Табличная переменная для оси X, заданной в одной из следующих форм:

  • Вектор символа или скаляр строки указание на одни из имен переменных. Например, heatmap(tbl,'HealthStatus','Gender') выбирает переменную под названием 'HealthStatus' для оси X.

  • Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(tbl,2,3) выбирает вторую переменную в таблице для оси X.

  • Логический вектор, содержащий один элемент true.

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

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

Свойство XVariable объектно-ориентированной памяти HeatmapChart выбранная переменная.

Табличная переменная для оси Y, заданной в одной из следующих форм:

  • Вектор символа или скаляр строки одних из имен переменных. Например, heatmap(tbl,'HealthStatus','Gender') выбирает переменную под названием 'HealthStatus' для оси Y.

  • Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(tbl,2,3) выбирает третью переменную в таблице для оси Y.

  • Логический вектор, содержащий один элемент true.

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

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

Свойство YVariable объектно-ориентированной памяти HeatmapChart выбранная переменная.

Табличная переменная для цветных данных, заданных в одной из следующих форм:

  • Вектор символа или скаляр строки одних из имен переменных. Например, heatmap(__,'ColorVariable,'HealthStatus') выбирает переменную под названием 'HealthStatus' для оси Y.

  • Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(__,'ColorVariable',1) выбирает третью переменную в таблице для оси Y.

  • Логический вектор, содержащий один элемент true.

Значения, сопоставленные с вашей табличной переменной, должны иметь числовой тип или logical.

Значением свойства является пустой [] при использовании матричных данных. Свойство ColorVariable объектно-ориентированной памяти HeatmapChart выбранная переменная. Свойство ColorData заполняет с данными на основе выбранной переменной.

По умолчанию heatmap вычисляет цветные данные на основе средней агрегации. Чтобы изменить метод расчета, установите свойство ColorMethod.

Цветные данные для ячеек тепловой карты, заданных как матрица.

Свойство ColorData объектно-ориентированной памяти HeatmapChart значения.

Пример: [40 24 68; 68 37 58; 49 23 46]

Значения, появляющиеся вдоль оси X, заданной как категориальный массив, массив строк, числовой массив или массив ячеек из символьных векторов.

Пример: {'Маленький', 'средний', 'большой'}

Пример: категориальный ({'маленький', 'средний', 'большой'})

Значения, появляющиеся вдоль оси Y, заданной как категориальный массив, массив строк, числовой массив или массив ячеек из символьных векторов.

Пример: {'Маленький', 'средний', 'большой'}

Пример: категориальный ({'маленький', 'средний', 'большой'})

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

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

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

Пример: тепловая карта (tbl, xvar, yvar, 'ColorVariable', 'Температуры', 'ColorMethod', 'медиана')

Примечание

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите HeatmapChart Properties.

Заголовок диаграммы, заданный как вектор символа, скаляр строки или '' ни для какого заголовка. Для табличных данных график по умолчанию имеет автоматически сгенерированный заголовок.

Пример: h = тепловая карта (__, 'Заголовок', 'Мой Текст заголовка')

Пример: h. Заголовок = 'мой текст заголовка'

Метод, чтобы вычислить цветные значения данных (сохраненный в ColorData), заданный как 'count', 'mean', 'median', 'sum' или 'none'.

Если вы не хотите использовать третью переменную из таблицы для цветных данных, то задайте метод в этой таблице.

МетодОписание
количествоСчитайте число раз, каждая пара значений x и y появляется в исходной таблице. Тепловая карта не использует свойство ColorVariable. Это значение является значением по умолчанию, когда вы используете табличные данные и не задаете параметр ColorVariable.

Если вы хотите использовать третью переменную из таблицы для цветных данных, то установленный свойство ColorVariable в переменную вы хотите и задаете свойство ColorMethod как один из методов, перечисленных в этой таблице. Для каждой пары значений x и y методы используют соответствующие значения в столбце ColorVariable исходной таблицы, чтобы вычислить данные.

МетодОписание
среднее значениеВычислите среднее значение. Это значение является значением по умолчанию, когда вы задаете свойство ColorVariable.
медианаВычислите среднее значение.
суммаСуммируйте значения.
'none'Используйте значение точно. Таблица не может содержать больше чем один экземпляр каждой пары значений x и y. Это значение является значением по умолчанию при использовании матричных данных.

Если вы хотите вычислить свою собственную матрицу агрегированных данных, используйте функцию accumarray. Задайте матрицу, как введено к функции heatmap.

Пример: h = тепловая карта (__, 'ColorMethod', 'медиана')

Пример: h. ColorMethod = 'медиана'

Советы

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

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

    • Панорамирование — Перетаскивание тепловая карта или использование клавиши со стрелками к панорамированию через строки или столбцы.

    • Советы данных — Парение по тепловой карте, чтобы отобразить совет данных.

    • Перестройте строки и столбцы — Перетаскивание строка или метка столбца, чтобы переместить его в различное положение.

    • Сортировка оценивает — Нажатие кнопки значок, который появляется, когда вы нависаете над меткой столбца или строкой. Щелкните однажды, чтобы отсортировать значения в порядке возрастания, дважды отсортировать значения в порядке убывания, и в третий раз, чтобы сбросить порядок.

Введенный в R2017a

Была ли эта тема полезной?