GOOGLE ADS

lunes, 2 de mayo de 2022

Cómo mostrar todos los valores de la variable categórica usando Plotly Choropleth

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.

ingrese la descripción de la imagen aquí

¿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

ingrese la descripción de la imagen aquí

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...