heatmap

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

Описание

пример

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 набор данных и составляет таблицу от подмножества переменных, загруженных в рабочую область. Затем создайте тепловую карту, которая считает общее количество пациентов с тем же набором Smoker и SelfAssessedHealthStatus значения.

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 функция. Точно так же можно добавить, удалить или переименовать метки тепловой карты с помощью addcatsremovecats, или renamecats функции, соответственно.

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

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

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

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

Загрузите набор данных пациентов и создайте тепловую карту из данных. Окрасьте каждую ячейку с помощью среднего возраста пациентов с конкретной парой Smoker и SelfAssessedHealthStatus значения. Задайте 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год, и 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 - ось, заданная как категориальный массив, массив строк, числовой массив или массив ячеек из символьных векторов.

Пример: {'small','medium','large'}

Пример: categorical({'small','medium','large'})

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

Пример: {'small','medium','large'}

Пример: categorical({'small','medium','large'})

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

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

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

Пример: heatmap(tbl,xvar,yvar,'ColorVariable','Temperatures','ColorMethod','median')

Примечание

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

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

Пример: h = heatmap(rand(10,10),'Title','My Title Text')

Пример: h.Title = 'My Title Text';

Чтобы создать многострочный заголовок, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве соответствует линии текста.

Пример: h.Title = {'My','Title'};

Если вы задаете заголовок категориального массива, MATLAB® использует значения в массиве, не категории.

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

По умолчанию тепловые карты поддерживают подмножество разметки TeX для текста, который вы задаете. Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст. Если вы хотите символ разметки TeX в обычном тексте, таком как подчеркивание (_), то вставляете обратную косую черту (\) перед символом, вы хотите включать. Обратная косая черта является символом ESC TeX. Для получения дополнительной информации смотрите свойство Interpreter текстового объекта.

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

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

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

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

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

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

Пример: h = heatmap(__,'ColorMethod','median')

Пример: h.ColorMethod = 'median'

Советы

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

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

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

    • Всплывающие подсказки — Наводят на тепловую карту, чтобы отобразить всплывающую подсказку.

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

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

Вопросы совместимости

развернуть все

Поведение изменяется в R2019a

Введенный в R2017a

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