Создайте тепловую карту из табличных данных

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

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

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

tbl = readtable('TemperatureData.csv');
head(tbl,5)
ans=5×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     

Создайте базовую тепловую карту

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

h = heatmap(tbl,'Month','Year','ColorVariable','TemperatureF');

Figure contains an object of type heatmap. The chart of type heatmap has title Mean of TemperatureF.

По умолчанию MATLAB вычисляет цветовые данные как среднюю температуру для каждого месяца. Однако можно изменить метод вычисления путем установки ColorMethod свойство.

Переупорядочить значения вдоль оси

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

Чтобы использовать категориальные массивы, сначала измените данные в Month столбец таблицы из массива ячеек в категориальный массив. Затем используйте reordercats функция для переупорядочивания категорий. Можно применить эти функции к таблице в рабочей области (tbl) или к таблице, хранящейся в SourceTable свойство HeatmapChart объект (h.SourceTable). Применение их к таблице, хранящейся в HeatmapChart объект избегает воздействия на исходные данные.

h.SourceTable.Month = categorical(h.SourceTable.Month);
neworder = {'January','February','March','April','May','June','July',...
    'August','September','October','November','December'};
h.SourceTable.Month = reordercats(h.SourceTable.Month,neworder);

Figure contains an object of type heatmap. The chart of type heatmap has title Mean of TemperatureF.

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

Кроме того, можно изменить порядок значений вдоль оси с помощью XDisplayData и YDisplayData свойства HeatmapChart объект.

h.XDisplayData = {'January','February','March','April','May','June','July',...
    'August','September','October','November','December'};

Figure contains an object of type heatmap. The chart of type heatmap has title Mean of TemperatureF.

Изменение заголовка и Подписей по осям

При создании тепловой карты с использованием табличных данных тепловая карта автоматически генерирует заголовок и подписи по осям. Настройте заголовок и подписи по осям путем установки Title, XLabel, и YLabel свойства HeatmapChart объект. Для примера измените заголовок и удалите метку оси X. Также измените размер шрифта.

h.Title = 'Average Temperatures';
h.XLabel = '';
h.FontSize = 12;

Figure contains an object of type heatmap. The chart of type heatmap has title Average Temperatures.

Изменение внешнего вида отсутствующих камер данных

Поскольку данных за август 2016 года по декабрь 2016 года нет, эти камеры появляются как отсутствующие данные. Измените внешний вид отсутствующих камер данных с помощью MissingDataColor и MissingDataLabel свойства.

h.MissingDataColor = [0.8 0.8 0.8];
h.MissingDataLabel = 'No Data';

Figure contains an object of type heatmap. The chart of type heatmap has title Average Temperatures.

Удаление Шкалы палитры

Удалите шкалу палитры путем установки ColorbarVisible свойство.

h.ColorbarVisible = 'off';

Figure contains an object of type heatmap. The chart of type heatmap has title Average Temperatures.

Формат текста камеры

Настройте формат текста, который появляется в каждой камере, задав CellLabelFormat свойство. Для примера отобразите текст без десятичного числа значений.

h.CellLabelFormat = '%.0f';

Figure contains an object of type heatmap. The chart of type heatmap has title Average Temperatures.

Добавление или удаление значений вдоль оси

Показывать только первый месяц каждого квартала путем установки XDisplayData свойство. Добавьте 2017 год вдоль оси Y путем установки YDisplayData свойство. Установите эти свойства в подмножество, супермножество или сочетание значений в XData или YData, соответственно.

h.XDisplayData = {'January','April','July','October'};
h.YDisplayData = {'2015','2016','2017'};

Figure contains an object of type heatmap. The chart of type heatmap has title Average Temperatures.

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

См. также

Функции

Свойства

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