exponenta event banner

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

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

Удалить Colorbar

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

См. также

Функции

Свойства