Crear mapas de calor a partir de datos tabulares
Los mapas de calor son una forma de visualizar los datos mediante colores. Cuando llama a la función heatmap
, puede especificar datos no agregados o agregados previamente:
Si especifica datos no agregados en forma de tabla, la función
heatmap
agrega los datos y muestra números y colores en cada celda que reflejan los valores agregados. Por ejemplo, es posible que las celdas muestren el número de veces que cada par (x, y) aparece en la tabla. Las etiquetas en los ejes x e y muestran los valores únicos en la tabla.Si especifica datos en forma de matriz 2D, la función
heatmap
trata los valores como datos agregados. Cada elemento de la matriz se corresponde con una celda de la gráfica. El color de una celda indica cuán grande o pequeño es un valor de la matriz en relación con los otros valores de la matriz. De forma opcional, puede especificar las etiquetas que aparecen en los ejes x e y de la gráfica.
Este tema muestra cómo importar un archivo a MATLAB® como una tabla y cómo crear un mapa de calor a partir de las columnas de la tabla. También muestra cómo modificar el aspecto de un mapa de calor, como configurar el título y las etiquetas del eje.
Importar un archivo como tabla
Cargue el archivo de ejemplo TemperatureData.csv
, que contiene las temperaturas medias desde enero de 2015 a julio de 2016. Lea el archivo en una tabla y muestre las primeras cinco filas.
tbl = readtable('TemperatureData.csv');
head(tbl,5)
Year Month Day TemperatureF ____ ___________ ___ ____________ 2015 {'January'} 1 23 2015 {'January'} 2 31 2015 {'January'} 3 25 2015 {'January'} 4 39 2015 {'January'} 5 29
Crear mapas de calor básicos
Cree un mapa de calor que muestre los meses en el eje x y los años en el eje y. Coloree las celdas del mapa de calor con los datos de temperatura mediante la propiedad ColorVariable
. Asigne el objeto HeatmapChart
a la variable h
. Utilice h
para modificar la gráfica después de crearla.
h = heatmap(tbl,'Month','Year','ColorVariable','TemperatureF');
MATLAB calcula los datos de color como la temperatura media de cada mes de forma predeterminada. Sin embargo, puede cambiar el método de cálculo configurando la propiedad ColorMethod
.
Reordenar valores en el eje
Los valores del eje aparecen por orden alfabético. Reordene los meses de forma que aparezcan por orden cronológico. Puede personalizar las etiquetas mediante arreglos categóricos o configurando las propiedades HeatmapChart
.
Para utilizar los arreglos de categorización, cambie primero los datos de la columna Month
de la tabla de un arreglo de celda a un arreglo de categorización. A continuación, utilice la función reordercats
para volver a ordenar las categorías. Puede aplicar dichas funciones a la tabla en el área de trabajo (tbl
) o a la tabla almacenada en la propiedad SourceTable
del objeto de HeatmapChart
(h.SourceTable
). Si se aplican a la tabla almacenada en el objeto de HeatmapChart
, se evita que modifiquen los datos originales.
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);
Asimismo, puede añadir, eliminar y renombrar las etiquetas del mapa de calor mediante las funciones addcats
, removecats
o renamecats
de arreglos categóricos.
También puede reordenar los valores de un eje mediante las propiedades XDisplayData
y YDisplayData
del objeto de HeatmapChart
.
h.XDisplayData = {'January','February','March','April','May','June', ... 'July','August','September','October','November','December'};
Modificar etiquetas de eje y título
Al crear un mapa de calor mediante datos tabulares, el mapa de calor genera etiquetas de eje y un título de forma automática. Personalice el título y las etiquetas de eje configurando las propiedades Title
, XLabel
y YLabel
del objeto de HeatmapChart
. Por ejemplo, cambie el título y elimine la etiqueta del eje x. Cambie también el tamaño de la fuente.
h.Title = 'Average Temperatures'; h.XLabel = ''; h.FontSize = 12;
Modificar el aspecto de las celdas de datos faltantes
Dado que no existen datos desde agosto de 2016 hasta diciembre de 2016, dichas celdas aparecen como datos faltantes. Modifique el aspecto de las celdas de datos faltantes mediante las propiedades MissingDataColor
y MissingDataLabel
.
h.MissingDataColor = [0.8 0.8 0.8];
h.MissingDataLabel = 'No Data';
Eliminar la barra de colores
Elimine la barra de colores mediante la propiedad ColorbarVisible
.
h.ColorbarVisible = 'off';
Formato de texto de las celdas
Utilice la propiedad CellLabelFormat
para personalizar el formato del texto que aparece en las celdas. Por ejemplo, muestre el texto sin valores decimales.
h.CellLabelFormat = '%.0f';
Añadir o eliminar valores en el eje
Visualice solo el primer mes de cada trimestre configurando la propiedad XDisplayData
. Añada el año 2017 en el eje y configurando la propiedad YDisplayData
. Establezca dichas propiedades para un subconjunto, un superconjunto o una permutación de los valores en XData
o YData
, respectivamente.
h.XDisplayData = {'January','April','July','October'}; h.YDisplayData = {'2015','2016','2017'};
Dado que no hay datos asociados con el año 2017, las celdas del mapa de calor utilizan el color de datos faltantes.
Consulte también
Funciones
heatmap
|table
|readtable
|addcats
|removecats
|renamecats
|reordercats
|categorical