Eu tenho um geodataframe com pontos e alguns dados associados. Quero plotá-lo em um mapa usando geopandas e ter o tamanho dos pontos correspondentes a uma das colunas no geodataframe.
Até agora, tenho o seguinte 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]);
Mas estou recebendo o seguinte erro: TypeError: cannot convert the series to <class 'float'>
Alguma ideia?
python
geopandas
matplotlib
pandas
Juan Francisco Saldarriaga
fonte
fonte
Pop_2005
explicitamente para um número flutuante ou inteiro?geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
Respostas:
Em geopandas> = 0,3 (lançado em setembro de 2017), a plotagem de pontos é baseada no
scatter
método de plotagem do matplotlib sob o capô, e isso aceita um tamanho de marcador variável.Então agora você pode realmente passar uma coluna para o
markersize
que o OP fez na pergunta original:dá:
Obviamente, se seu objetivo é simplesmente alterar o tamanho do marcador para um valor constante diferente, você ainda pode passar um único float para a palavra-chave:
fonte