Choropleth Map es un tipo de mapa temático en el que un conjunto de áreas predefinidas está coloreada o modelada en proporción a una variable estadística que representa un resumen agregado de una característica geográfica dentro de cada área. Los mapas de coropletas proporcionan una manera fácil de visualizar cómo varía una variable en un área geográfica o muestran el nivel de variabilidad dentro de una región.
Los controles deslizantes se pueden usar en plotly para cambiar los datos que se muestran o el estilo de un gráfico. Es una herramienta útil que se puede utilizar para mostrar los cambios en un mapa de coropletas.
Instalación
Comencemos instalando plotly:
pip install plotly
Ahora, importemos las bibliotecas necesarias.
Python3
import pandas as pd import plotly import numpy as np
Cargando conjunto de datos
Cargando conjunto de datos de muestra. Usaremos este conjunto de datos para trazar un mapa de coropletas.
Python3
df = pd.read_csv('https://raw.githubusercontent\ .com/plotly/datasets/master/2011_us_ag_exports.csv') data = [dict(type='choropleth', locations = df['code'].astype(str), z=df['total exports'].astype(float), locationmode='USA-states')]
Crear control deslizante
Ahora, construyamos nuestro control deslizante :
Python3
steps = [] for i in range(len(data)): step = dict(method='restyle', args=['visible', [False] * len(data)], label='Year {}'.format(i + 1980)) step['args'][1][i] = True steps.append(step) sliders = [dict(active=0, pad={"t": 1}, steps=steps)]
Código final con salida
Finalmente, juntemos todo el código y tracemos el mapa de coropletas con un control deslizante.
Python3
import pandas as pd import plotly import numpy as np plotly.offline.init_notebook_mode() # Reading sample data using pandas DataFrame df = pd.read_csv('https://raw.githubusercontent.\ com/plotly/datasets/master/2011_us_ag_exports.csv') data = [dict(type='choropleth', locations = df['code'].astype(str), z=df['total exports'].astype(float), locationmode='USA-states')] # let's create some more additional, data for i in range(5): data.append(data[0].copy()) data[-1]['z'] = data[0]['z'] * np.random.rand(*data[0]['z'].shape) # let's now create slider for map steps = [] for i in range(len(data)): step = dict(method='restyle', args=['visible', [False] * len(data)], label='Year {}'.format(i + 1980)) step['args'][1][i] = True steps.append(step) slider = [dict(active=0, pad={"t": 1}, steps=steps)] layout = dict(geo=dict(scope='usa', projection={'type': 'albers usa'}), sliders=slider) fig = dict(data=data, layout=layout) plotly.offline.iplot(fig)
Producción:
Publicación traducida automáticamente
Artículo escrito por kartikengineer2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA