La tarea es mostrar la categoría sabia del estado cuando se pasa el mouse sobre el estado, pero muestra solo la última opción para todos los estados, que son las verduras.
Aquí está el código que he probado.
fig = px.choropleth(data,
locations="id",
geojson=state,
color="Category",
hover_name="State",
scope="usa",
hover_data = ["Year", "Dollars"]
)
fig.show()
El resultado que estoy obteniendo ahora.
¿Cómo puedo mostrar todos los valores que hay en la variable Categoría?
Enlace del conjunto de datos: https://github.com/satyam2829/Choropleth
Solución del problema
- sus datos no parecen muy adecuados para lo que está tratando de lograr. Han deduplicado y resumido
- Creado ColumnList todas las categorías en el estado
- categorías creadas recuento de categorías en el estado
- Expreso gráfico modificado
choropleth()
para usar estos datos resumidos - para hacer que los colores sean correctos, normalmente es el caso en el que necesita definir la clave de característica para vincular la columna del marco de datos a la propiedad apropiada en GeoJSON
import requests
import pandas as pd
import numpy as np
import plotly.express as px
state = requests.get(
"https://raw.githubusercontent.com/satyam2829/Choropleth/main/us-states.json"
).json()
data = pd.read_csv(
"https://raw.githubusercontent.com/satyam2829/Choropleth/main/WeeklyFoodPrices.csv"
)
data["Date"] = pd.to_datetime(data["Date"])
# 1. de-dup data, take just last date for each state
# 2. summarise data for state as each state has many categories
data = (
data.merge(
data.groupby("State", as_index=False).agg({"Date": "max"}),
on=["State", "Date"],
how="inner",
)
.groupby(["State", "Date"], as_index=False)
.agg(
Category=("Category", "last"),
Dollars=("Dollars", "last"),
LastYear=("LastYear", "last"),
CategoryList=("Category", list),
Categories=("Category","size")
)
)
fig = px.choropleth(
data,
locations="State",
featureidkey="properties.name", # needed as this is the common property
geojson=state,
color="Category",
hover_name="State",
scope="usa",
hover_data=["LastYear", "Dollars", "Categories", "CategoryList"],
)
fig
No hay comentarios:
Publicar un comentario