Тепловые карты являются способом визуализировать данные с помощью цвета. Этот пример показывает, как импортировать файл в MATLAB® как таблица и создать тепловую карту из столбцов таблицы. Это также показывает, как изменить внешний вид тепловой карты, такой как установка заголовка и подписей по осям.
Загрузите файл примера TemperatureData.csv
, который содержит среднесуточные температуры с января 2015 до июля 2016. Считайте файл в таблицу и отобразите первые пять строк.
tbl = readtable(fullfile(matlabroot,'examples','graphics','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');
По умолчанию 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);
Точно так же можно добавить, удалить или переименовать метки тепловой карты с помощью addcats
, removecats
или функций renamecats
для категориальных массивов.
Также можно переупорядочить значения вдоль оси с помощью свойств XDisplayData
и YDisplayData
объекта HeatmapChart
.
h.XDisplayData = {'January','February','March','April','May','June','July',... 'August','September','October','November','December'};
Когда вы создаете тепловую карту с помощью табличных данных, тепловая карта автоматически генерирует заголовок и подписи по осям. Настройте заголовок и подписи по осям путем установки Title
, XLabel
и свойств YLabel
объекта HeatmapChart
. Например, измените заголовок и удалите метку оси X. Кроме того, измените размер шрифта.
h.Title = 'Average Temperatures'; h.XLabel = ''; h.FontSize = 12;
С тех пор нет никаких данных на август 2016 в течение декабря 2016, те ячейки появляются как недостающие данные. Измените внешний вид недостающих ячеек данных с помощью свойств MissingDataColor
и MissingDataLabel
.
h.MissingDataColor = [0.8 0.8 0.8];
h.MissingDataLabel = 'No Data';
Удалите шкалу палитры путем установки свойства ColorbarVisible
.
h.ColorbarVisible = 'off';
Настройте формат текста, который появляется в каждой ячейке путем установки свойства CellLabelFormat
. Например, отобразите текст без десятичных значений.
h.CellLabelFormat = '%.0f';
Покажите только первый месяц каждой четверти путем установки свойства XDisplayData
. Добавьте год 2017 вдоль оси Y путем установки свойства YDisplayData
. Установите эти свойства на подмножество, надмножество или перестановку значений в XData
или YData
, соответственно.
h.XDisplayData = {'January','April','July','October'}; h.YDisplayData = {'2015','2016','2017'};
С тех пор нет никаких данных, сопоставленных с годом 2017, ячейки тепловой карты используют недостающий цвет данных.
addcats
| categorical
| heatmap
| readtable
| removecats
| renamecats
| reordercats
| table