1 votos

Columna basada en el color al trazar un GeoDataFrame con el método 'explore'

Me gustaría color las ciudades que pertenecen a una hemisferio u otro con el color especificado en 'Color' columna . Todas las ciudades de cada hemisferio (cada categoría) tienen el mismo valor para esa columna. También me gustaría que la leyenda mostrara los mismos colores.

No estoy siendo capaz de conseguirlo. ¿Podría alguien ayudarme?

Nota: Este es un ejemplo reproducible de lo que estoy tratando -basado en ejemplos de geopandas.

import geopandas as gpd

gdf = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))
gdf['Hemisphere'] = gdf['geometry'].apply(lambda x: 'Norte'if x.y > 0 else 'Sur')
gdf['Color'] = gdf['Hemisphere'].apply(lambda x: '#D94325' if x=='Norte' else '#5CD925')

gdf.explore(column='Hemisferio', color='Color')

enter image description here

También disponible en:

https://stackoverflow.com/q/71128054/13151511

1voto

Joe Be Puntos 41

Utilice el argumento cmap en lugar de color - un ejemplo utilizando el conjunto de datos naturalearth lowres

gdf =gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
gdf['color'] = gdf.index.map(lambda x : 'red' if x%2 == 0 else 'blue')
gdf.explore(column='color', cmap=['red', 'blue'], legend=True)

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X