heatmap

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

Описание

пример

heatmap(tbl,xvar,yvar) создает тепловую карту из таблицы tbl. xvar введите указывает на табличную переменную, чтобы отобразиться вдоль оси X. yvar введите указывает на табличную переменную, чтобы отобразиться вдоль оси Y. Цвета по умолчанию основаны на агрегации количества, которая составляет число раз, каждая пара значений X и Y появляется вместе в таблице.

пример

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

пример

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

пример

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

пример

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

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

h = heatmap(___) возвращает HeatmapChart объект. Используйте h изменить свойства графика после создания его. Для списка свойств смотрите HeatmapChart Properties.

Примеры

свернуть все

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

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

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

Figure contains an object of type heatmap. The chart of type heatmap has title Count of SelfAssessedHealthStatus vs. Smoker.

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

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

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

Figure contains an object of type heatmap. The chart of type heatmap has title Count of SelfAssessedHealthStatus vs. Smoker.

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

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

Figure contains an object of type heatmap. The chart of type heatmap has title Count of SelfAssessedHealthStatus vs. Smoker.

В качестве альтернативы можно переупорядочить метки путем изменения данных в категориальные данные и затем переупорядочения категорий с помощью 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');

Figure contains an object of type heatmap. The chart of type heatmap has title Mean of 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');

Figure contains an object of type heatmap. The chart of type heatmap has title Median of Age.

Создайте матрицу данных. Затем создайте тепловую карту матричных значений. Метки по умолчанию вдоль оси 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';

Figure contains an object of type heatmap. The chart of type heatmap has title T-Shirt Orders.

Создайте тепловую карту и нормируйте цвета вдоль каждого столбца или строки путем установки 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');

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

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

h.ColorScaling = 'scaledcolumns';

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

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

h.ColorScaling = 'scaledrows';

Figure contains an object of type heatmap. The chart of type heatmap has title Count of Cause vs. Region.

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

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

tbl = readtable('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') выбирает переменную под названием 'Gender' для 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, или GridLayout объект.

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

Задайте дополнительные разделенные запятой пары 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'среднее значениемедианасуммаMax min, или 'none'.

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

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

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

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

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

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

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

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

Советы

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

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

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

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

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

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

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

    • Чтобы добавить или удалить строку из всплывающей подсказки, щелкните правой кнопкой где угодно по графику и укажите на Modify Data Tips. Затем выберите или отмените выбор переменной.

    • Чтобы добавить или удалить несколько строк, щелкните правой кнопкой по графику, укажите на Modify Data Tips и выберите More. Затем добавьте переменные путем нажатия на >> или удалите их путем нажатия на <<.

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

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

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

Введенный в R2017a