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áfico de burbuja geográfica a partir de datos tabulares

Los gráficos de burbuja geográfica son una forma de visualizar los datos superpuestos en un mapa. Para los datos con características geográficas, estos gráficos pueden proporcionar un contexto muy necesario. En este ejemplo, se importa un archivo a MATLAB ® como una tabla y se crea un gráfico de burbuja geográfica a partir de las variables de tabla (columnas). A continuación, se trabaja con los datos de la tabla para visualizar los aspectos de los datos, como el tamaño de la población.

Importar archivo como tabla

Cargue el archivo de la muestra counties.xlsx, que contiene los expedientes de la población y de las ocurrencias de la enfermedad de Lyme por el condado en Nueva Inglaterra. Lea los datos en una tabla utilizando readtable.

counties = readtable('counties.xlsx');

Crear gráfico básico de burbuja geográfica

Crear un gráfico de burbuja geográfica que muestra la ubicación de los condados en Nueva Inglaterra. Especifique la tabla como primer argumento, counties. El gráfico de burbuja geográfica almacena la tabla en su propiedad SourceTable . En el ejemplo se muestran las primeras cinco filas de la tabla. Utilice las columnas 'Latitude' y 'Longitude' de la tabla para especificar ubicaciones. El gráfico establece automáticamente los límites de latitud y longitud del mapa subyacente, denominado base, para incluir sólo aquellas áreas representadas por los datos. Asigne el objeto GeographicBubbleChart a la variable gb. Utilice gb para modificar el gráfico después de crearlo.

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 redondear y acercar y alejar en la base mostrada por la función geobubble . geobubble muestra los datos a través de un base predeterminado. Para utilizar otro base, debe tener una conexión a Internet o debe haber descargado previamente el mapas de MathWorks.

Visualice las poblaciones del condado en el gráfico

Utilice el tamaño de burbuja (diámetro) para indicar las poblaciones relativas de los diferentes condados. Especifique la variable Population2010 en la tabla como el valor del parámetro SizeVariable . En el gráfico resultante de la burbuja geográfica, las burbujas tienen diferentes tamaños para indicar la población. El gráfico incluye una leyenda que describe cómo el diámetro expresa el tamaño.

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

geobubble escala los diámetros de burbuja linealmente entre los valores especificados por la propiedad SizeLimits .

Visualice los casos de la enfermedad de Lyme por Condado

Utilice el color de la burbuja para demostrar el número de los casos de la enfermedad de Lyme en un condado para un año dado. Para mostrar este tipo de datos, la función geobubble requiere que los datos sean un valor categorical . Inicialmente, ninguna de las columnas de la tabla son categóricas, pero se 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, denominada Severity, agrupa los datos en tres categorías: Baja, media y alta. Utilice esta nueva variable como parámetro ColorVariable . Estos cambios modifican la tabla almacenada en la propiedad SourceTable , que es una copia de la tabla original en el espacio de trabajo, counties. La realización de cambios en la tabla almacenada en el objeto GeographicBubbleChart evita la afectación de los datos originales.

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

Manejar datos no definidos

Cuando se traza la información de gravedad, aparece una cuarta categoría en la leyenda de color: undefined. Esta categoría puede aparecer cuando los datos que se lanzan a categorical contienen valores o valores vacíos que están fuera del alcance de las categorías definidas. Para determinar qué causó este valor de severidad no definido, vea la sugerencia de datos para una burbuja no definida. Usted ve que representa valores en la fila 33 de la tabla de la enfermedad de Lyme.

Compruebe el valor de la variable utilizada para la severidad, Cases2010, que es la variable 12 en 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 valores 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. Por ejemplo, use 5000.

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

A diferencia de la variable de color, cuando geobubble encuentra un número indefinido (Nan) en las variables tamaño, latitud o longitud, omite el valor.

Elegir colores de burbuja

Utilice un degradado de color para representar la categorización bajo-media-alta. geobubble almacena los colores como una lista m-by-3 de valores RGB en la propiedad BubbleColorList .

gb.BubbleColorList = autumn(3);

Reordenar colores de burbuja

Cambiar el color que indica alta severidad para ser rojo en lugar de amarillo. Para cambiar el orden de color, puede cambiar el orden de las categorías o de los colores enumerados en la propiedad BubbleColorList . Por ejemplo, inicialmente las categorías se ordenan bajo-medio-alto. Utilice la función reordercats para cambiar las categorías a alto-medio-bajo. Las categorías cambian en la leyenda del color.

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

Agregar títulos

Al mostrar un gráfico de burbuja geográfica con variables de tamaño y color, el gráfico muestra una leyenda de tamaño y una leyenda de color para indicar lo que significan los tamaños y colores relativos. Cuando se especifica una tabla como argumento, geobubble utiliza automáticamente los nombres de las variables de tabla como títulos de leyenda, pero puede especificar otros títulos utilizando propiedades.

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

Refinar datos de gráfico

Mirando los datos de la enfermedad de Lyme, la tendencia aparece ser que más casos ocurren en áreas más denso pobladas. Buscar en ubicaciones con la mayoría de los casos per cápita podría ser más interesante. Calcule los casos por 1000 personas y mostrarlo en el gráfico.

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

Los tamaños de burbuja ahora cuentan una historia diferente que antes. Las áreas con las poblaciones más grandes rastrearon relativamente bien con los diferentes niveles de severidad. Sin embargo, al observar el número de casos normalizados por población, parece que el mayor riesgo per cápita tiene una distribución geográfica diferente.

Consulte también

| | | | | |

Temas relacionados