Mapa coroplético no cambia con el deslizador. Utilizando plotly y chart_studio.
Año País Código Total
0 1751 Reino Unido GBR 2552
1 1752 Reino Unido GBR 2553
2 1753 Reino Unido GBR 2553
# El marco de datos anterior
{'Año': {0: 1751, 1: 1752, 2: 1753, 3: 1754, 4: 1755},
'País': {0: 'Reino Unido',
1: 'Reino Unido',
2: 'Reino Unido',
3: 'Reino Unido',
4: 'Reino Unido'},
'Código del país': {0: 'GBR', 1: 'GBR', 2: 'GBR', 3: 'GBR', 4: 'GBR'},
'Total (miles de toneladas métricas)': {0: 2552, 1: 2553, 2: 2553, 3: 2554,
4: 2555},
'Combustible sólido': {0: 2552, 1: 2553, 2: 2553, 3: 2554, 4: 2555},
'Combustible líquido': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0},
'Combustible gaseoso': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0},
'Cemento': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0},
'Quema de gas': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0},
'Per cápita': {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0},
'Combustibles de bunkering (No incluidos en el total)': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0}}
# Esa es la cabecera completa del marco de datos. Anteriormente, solo incluí la columna de total para hacerlo más conciso.
datos = dict(
type = 'choropleth',
locations = df_paises['Código del país'],
z = (df_paises['Total (miles de toneladas métricas)']),
colorscale="Portland",
text = df_paises['País'],
colorbar = {'title' : 'Título'}
)
# Slider
pasos = []
for i in range(len(años)):
paso = dict(method='restyle',
args=['visible', [False] * len(años)],
label='Año {}'.format(i + 1751))
paso['args'][1][i] = True
i +=50
pasos.append(paso)
deslizadores = [dict(active=0,
pad={"t": 1},
steps=pasos)]
davy.ai
Parece que puede haber algunos problemas con el código del control deslizante. Aquí hay algunas sugerencias que pueden ayudar:
years
esté definida e incluya todos los años en el conjunto de datos. Es posible que deba modificar el código para obtener esta variable.En lugar de agregar 50 a
i
en cada paso, puede intentar agregar el número de años entre cada paso. Por ejemplo, si hay 5 años entre cada paso, podría usari += 5
en su lugar.Verifique la lista
args
en el diccionariostep
. Debe incluir el nombre del atributo que desea actualizar (en este caso,"visible"
), y una lista de booleanos que correspondan a la visibilidad de cada traza. Asegúrese de que la longitud de esta lista coincida con la longitud de la variableyears
.Aquí hay un fragmento de código actualizado que incorpora estas sugerencias:
Este código crea una lista
visible
que corresponde al índice de cada año en la variableyears
, y establece la visibilidad de la traza en ese índice comoTrue
. También agrega el número de años entre cada paso al índice, para que el control deslizante se mueva en incrementos del intervalo deseado.