У меня есть геоданные с точками и некоторыми связанными данными. Я хочу нанести его на карту, используя геопанды, и чтобы размер точек соответствовал одному из столбцов в геоданных.
Пока у меня есть следующий код:
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]);
Но я получаю следующую ошибку: TypeError: cannot convert the series to <class 'float'>
Любые идеи?
python
geopandas
matplotlib
pandas
Хуан Франциско Салдарриага
источник
источник
Pop_2005
явно к числу с плавающей точкой или целому числу?geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
Ответы:
В геопанде> = 0.3 (выпущено в сентябре 2017 г.) построение точек основано на
scatter
методе построения графика под matplotlib, который принимает переменный размер маркера.Так что теперь вы можете передать столбец тому
markersize
, что сделал ОП в исходном вопросе:дает:
Конечно, если ваша цель состоит в том, чтобы просто изменить размер маркера на другое постоянное значение, вы все равно можете передать одно значение с плавающей точкой в ключевое слово:
источник