Saya memiliki geodataframe dengan poin dan beberapa data terkait. Saya ingin memplotnya di peta menggunakan geopanda dan memiliki ukuran titik yang sesuai dengan salah satu kolom di geodataframe.
Sejauh ini saya memiliki kode berikut:
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]);
Tapi saya mendapatkan kesalahan berikut: TypeError: cannot convert the series to <class 'float'>
Ada ide?
python
geopandas
matplotlib
pandas
Juan Francisco Saldarriaga
sumber
sumber
Pop_2005
secara eksplisit ke float atau integer?geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
Jawaban:
Dalam geopanda> = 0,3 (dirilis September 2017), plot poin didasarkan pada
scatter
metode plot matplotlib di bawah tenda, dan ini menerima markersize variabel.Jadi sekarang Anda benar-benar dapat mengirimkan kolom ke
markersize
, apa yang OP lakukan dalam pertanyaan awal:memberi:
Tentu saja, jika tujuan Anda hanyalah mengubah markersize ke nilai konstan yang berbeda, Anda masih bisa meneruskan satu float ke kata kunci:
sumber