Tengo un geodataframe con puntos y algunos datos asociados. Quiero trazarlo en un mapa usando geopandas y hacer que el tamaño de los puntos corresponda a una de las columnas del geodataframe.
Hasta ahora tengo el siguiente código:
base = world.plot(color='white', figsize=(20,10))
geo_df.plot(ax=base, marker='.', color='red', markersize =
geo_df['Pop_2005'])
plt.xlim([-85, -60])
plt.ylim([-5, 12.5]);
Pero recibo el siguiente error: TypeError: cannot convert the series to <class 'float'>
¿Algunas ideas?
python
geopandas
matplotlib
pandas
Juan Francisco Saldarriaga
fuente
fuente
Pop_2005
explícitamente a un flotante o entero?geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
Respuestas:
En geopandas> = 0.3 (lanzado en septiembre de 2017), el trazado de puntos se basa en el
scatter
método de trazado de matplotlib debajo del capó, y esto acepta un tamaño de marcador variable.Entonces, ahora puede pasar una columna a
markersize
lo que hizo el OP en la pregunta original:da:
Por supuesto, si su objetivo es simplemente cambiar el tamaño del marcador a un valor constante diferente, aún puede pasar un único flotante a la palabra clave:
fuente