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

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

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

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

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

Смотрите также

Функции

Свойства