Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página 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 trabajará 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. El ejemplo muestra las primeras cinco filas de la tabla. 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');

head(gb.SourceTable, 5)
ans=5×19 table
    FIPS     ANSICODE     Latitude    Longitude         CountyName          State        StateName       Population2010    HousingUnits2010     LandArea     WaterArea     Cases2010    Cases2011    Cases2012    Cases2013    Cases2014    Cases2015    Cases2014_1    Cases2015_1
    ____    __________    ________    _________    _____________________    ______    _______________    ______________    ________________    __________    __________    _________    _________    _________    _________    _________    _________    ___________    ___________

    9001    2.1279e+05     41.228      -73.367     {'Fairfield County' }    {'CT'}    {'Connecticut'}      9.1683e+05         3.6122e+05       1.6185e+09    5.4916e+08       331          305          225          443          437          427           437            427    
    9003    2.1234e+05     41.806      -72.733     {'Hartford County'  }    {'CT'}    {'Connecticut'}      8.9401e+05         3.7425e+05       1.9039e+09    4.0213e+07       187          167          143          288          291          335           291            335    
    9005     2.128e+05     41.792      -73.235     {'Litchfield County'}    {'CT'}    {'Connecticut'}      1.8993e+05              87550       2.3842e+09    6.2166e+07        88          118           67          187          168          202           168            202    
    9007     2.128e+05     41.435      -72.524     {'Middlesex County' }    {'CT'}    {'Connecticut'}      1.6568e+05              74837       9.5649e+08    1.8068e+08       125          109           93          181          155          241           155            241    
    9009     2.128e+05      41.35        -72.9     {'New Haven County' }    {'CT'}    {'Connecticut'}      8.6248e+05           3.62e+05       1.5657e+09    6.6705e+08       240          249          213          388          459          474           459            474    

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 Gravedad, 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 Gravedad sin definir colocando el cursor sobre la 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=1×1 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