Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Crear gráficas de burbujas geográficas a partir de datos tabulares

Las gráficas de burbujas geográficas son una forma de visualizar datos superpuestos en un mapa. Estas gráficas pueden ofrecer un contexto imprescindible para los datos con características geográficas. En este ejemplo va a importar un archivo a MATLAB® como una tabla y a crear una gráfica de burbujas geográfica a partir de las variables de la tabla (columnas). A continuación, trabaje con los datos de la tabla para visualizar aspectos de los mismos, como el tamaño de la población.

Importar un archivo como tabla

Cargue el archivo de ejemplo counties.xlsx, que contiene los registros de población y la incidencia de la enfermedad de Lyme por condados en Nueva Inglaterra. Lea los datos a una tabla mediante readtable.

counties = readtable('counties.xlsx');

Crear gráficas básicas de burbujas geográficas

Cree una gráfica de burbujas geográfica que represente las ubicaciones de los condados en Nueva Inglaterra. Especifique la tabla como el primer argumento counties. La gráfica de burbujas geográfica guarda la tabla en su propiedad SourceTable. Utilice las columnas 'Latitude' y 'Longitude' de la tabla para especificar las ubicaciones. La gráfica establece de forma automática los límites de latitud y longitud del mapa subyacente, llamado mapa base, para incluir exclusivamente las áreas que representan los datos. Asigne el objeto GeographicBubbleChart a la variable gb. Utilice gb para modificar la gráfica después de crearla.

figure
gb = geobubble(counties,'Latitude','Longitude');

Puede desplazar y aumentar o disminuir el zoom del mapa base mostrado con la función geobubble.

Visualizar en la gráfica la población de los condados

Utilice el tamaño de las burbujas (diámetro) para indicar la población relativa de los distintos condados. Especifique la variable Population2010 en la tabla como el valor del parámetro SizeVariable. En la gráfica de burbujas geográfica resultante, las burbujas tienen distintos tamaños para indicar la población. La gráfica incluye una leyenda que describe cómo se expresa el tamaño en función del diámetro de las burbujas. Ajuste los límites de la gráfica mediante geolimits.

gb = geobubble(counties,'Latitude','Longitude',...
                        'SizeVariable','Population2010');
geolimits([39.50 47.17],[-74.94 -65.40])

geobubble ajusta el diámetro de las burbujas de forma lineal entre los valores especificados por la propiedad SizeLimits.

Visualizar la incidencia de la enfermedad de Lyme por condados

Utilice los colores de las burbujas para visualizar el número de incidencias de la enfermedad de Lyme en un condado y en un año determinado. Para mostrar este tipo de datos, la función geobubble precisa que los datos tengan un valor categorical. Al principio, ninguna de las columnas de la tabla es categórica, pero puede crear una. Por ejemplo, puede utilizar la función discretize para crear una variable categórica a partir de los datos de la variable Cases2010. La nueva variable, llamada Severity, agrupa los datos en tres categorías: Baja, Media y Alta. Utilice esta nueva variable como el parámetro ColorVariable. Estos cambios modifican la tabla guardada en la propiedad SourceTable, que es una copia de la tabla original que se encuentra en el área de trabajo, counties. Si se aplican los cambios a la tabla almacenada en el objeto GeographicBubbleChart, se evita que se modifiquen los datos originales.

gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 500],...
                                 'categorical', {'Low', 'Medium', 'High'});
gb.ColorVariable = 'Severity';

Manejar datos no definidos

Al representar la información de gravedad, una cuarta categoría aparece en la leyenda de colores: undefined. Esta categoría puede aparecer cuando los datos que arroja a categorical contienen valores vacíos o que están fuera del intervalo de las categorías que ha definido. Determine la causa del valor Severity sin definir colocando el cursor sobre una burbuja no definida. La sugerencia de datos muestra que la burbuja representa valores en la fila 33 de la tabla de la enfermedad de Lyme.

Compruebe el valor de la variable utilizada para Gravedad, Cases2010, que es la variable 12 de la fila 33 de la tabla de la enfermedad de Lyme.

gb.SourceTable(33,12)
ans=table
    Cases2010
    _________

       514   

La categoría High se define como los valores que se encuentran entre 100 y 500. Sin embargo, el valor de la variable Cases2010 es 514. Para eliminar este valor no definido, restablezca el límite superior de la categoría Alta para incluir este valor. Utilice 5000, por ejemplo.

gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 5000],...
                                 'categorical', {'Low', 'Medium', 'High'});

A diferencia de la variable de colores, cuando geobubble encuentra un número no definido (NaN) en las variables de tamaño, latitud o longitud, ignora dicho valor.

Seleccionar colores de las burbujas

Utilice un gradiente de color para representar la clasificación Alta, Media y Baja. geobubble guarda los colores como una lista m por 3 de valores RGB en la propiedad BubbleColorList.

gb.BubbleColorList = autumn(3);

Reordenar colores de las burbujas

Cambie el color que indica la gravedad alta de amarillo a rojo. Para cambiar el orden de colores, puede cambiar el orden de las categorías o de los colores que aparecen en la propiedad BubbleColorList. Por ejemplo, en un principio, las categorías presentan el siguiente orden: Baja, Media y Alta. Utilice la función reordercats para cambiar las categorías a Alta, Media y Baja. Las categorías cambian en la leyenda de colores.

neworder = {'High','Medium','Low'};
gb.SourceTable.Severity = reordercats(gb.SourceTable.Severity,neworder);

Añadir títulos

Cuando se muestra una gráfica de burbujas geográfica con variables de color y tamaño, la gráfica presenta una leyenda de tamaño y otra de color para indicar qué significan los colores y los tamaños relativos. Cuando se especifica una tabla como argumento, geobubble utiliza automáticamente los nombres de las variables de la tabla como los títulos de la leyenda, pero puede especificar otros títulos mediante las propiedades.

title 'Lyme Disease in New England, 2010'
gb.SizeLegendTitle = 'County Population';
gb.ColorLegendTitle = 'Lyme Disease Severity';

Ajustar los datos de la gráfica

Al observar los datos de la enfermedad de Lyme, la tendencia parece ser que se producen más casos en las zonas con mayor densidad de población. Es posible que sea más interesante observar las ubicaciones con más casos per capita. Calcule los casos por cada 1.000 personas y muéstrelos en la gráfica.

gb.SourceTable.CasesPer1000 = gb.SourceTable.Cases2010 ./ ...
    gb.SourceTable.Population2010 * 1000;
gb.SizeVariable = 'CasesPer1000';
gb.SizeLegendTitle = 'Cases Per 1000';

Los tamaños de las burbujas ahora indican unos datos totalmente diferentes. Las zonas con mayor población se corresponden relativamente bien con los diferentes niveles de gravedad. No obstante, al observar el número de casos normalizados por la población, parece que el riesgo per capita más elevado tiene una distribución geográfica diferente.

Consulte también

| | | | | |

Temas relacionados