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