heatmap

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

Описание

пример

heatmap(tbl,xvar,yvar) создает тепловую карту из таблицы tbl. The xvar вход указывает табличную переменную, которая будет отображаться вдоль оси X. The 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.

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

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

Примеры

свернуть все

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

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

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 в таблицу. Образец файла содержит данные, представляющие отключения электрической утилиты в состояниях Unites. Таблица содержит шесть столбцов: 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, Year, и 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 функция для категориальных массивов, чтобы переупорядочить подписи по осям.

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

свернуть все

Исходная таблица, заданная как таблица или расписание.

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

The SourceTable свойство HeatmapChart объект хранит исходную таблицу.

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

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

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

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

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

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

The XVariable свойство HeatmapChart объект хранит выбранную переменную.

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

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

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

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

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

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

The YVariable свойство HeatmapChart объект хранит выбранную переменную.

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

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

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

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

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

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

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

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

The 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, Panel, Tab, TiledChartLayout, или GridLayout объект.

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Метод вычисления значений цветовых данных (хранится в ColorData), заданный как 'count', 'mean', 'median', 'sum', '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 команда не поддерживается.

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

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

Совет

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

    • Масштабирование - для масштабирования используйте колесо прокрутки или клавиши + и -.

    • Панорамирование - щелкните и перетащите тепловую карту или используйте клавиши со стрелами для панорамирования между строками или столбцами.

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

    • Переставить строки и столбцы - щелкните и перетащите метку строки или столбца, чтобы переместить ее в другое положение.

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

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

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

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

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

расширить все

Поведение изменено в R2019a

Введенный в R2017a