打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用GeoPandas制作数据地图

Geopandas是python强大的库,利用它结合matplotlib可以地理数据展示和分析。

一、利用内置的地图绘制世界地图

Geopandas内置地图文件naturalearth_lowres,读取它可以进行地图绘制。

import geopandas as gp

import matplotlib.pyplot as plt

world = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))

world.plot()

plt.show()

二、利用外部的geojson文件绘制数据地图

(一) 绘制分层填色分布地图

从网站(网址为:
http://datav.aliyun.com/tools/atlas/#&lat=33.521903996156105&lng=104.29849999999999&zoom=3)下载geojson中国地图数据。

用以下代码导入中国地图数据,并且导出CSV文件各省市名称。

import geopandas as pd

china=gp.read_file("d:/中华人民共和国.json")

ss= china["name"]

ss.to_csv("d:/name.csv")

从网上找到各省市2020的GDP数据(如国家统计局网站),并且填入name.csv文件里。准备好数据之后,就可以调用准备好的数据绘制分层填色分布地图。

import geopandas as gp

import matplotlib.pyplot as plt

import pandas as pd

#读入GDP数据

data=pd.read_csv("d:/name.csv",encoding="gb18030")

#读入地图数据

china=gp.read_file("d:/中华人民共和国.json")

#读入国界地图数据

chinadata=gp.read_file("d:/中华人民共和国1.json")

boundary=chinadata.iloc[4:5,:]

#合并地图数据和GDP数据

mchina=pd.merge(china,data)

fig, ax = plt.subplots(1, 1)

#绘制分层分布图

mchina.plot(column='gdp',ax=ax,legend=True)

boundary.plot(ax=ax,edgecolor="red")

plt.show()

(二) 绘制bubble地图

import geopandas as gp

import matplotlib.pyplot as plt

import pandas as pd

#读入GDP数据

data=pd.read_csv("d:/name.csv",encoding="gb18030")

#读入地图数据

china=gp.read_file("d:/中华人民共和国.json")

#读入国界地图数据

chinadata=gp.read_file("d:/中华人民共和国1.json")

boundary=chinadata.iloc[4:5,:]

fig, ax = plt.subplots(1, 1)

china.plot(ax=ax,facecolor='white',edgecolor='grey')

ax.scatter(china.centroid.x,china.centroid.y,s=data['gdp']/1000,color='green')

boundary.plot(ax=ax,edgecolor="red")

plt.show()

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
geopandas-python中地理信息绘图利器
python爬彩票大乐透历史数据 预测测试...
Python VS R,哪个更适合开发者?
HR如何才能知道员工的潜在离职因素?
常用的6种绘制地图的方法
matplotlib cartopy geopandas,实现专业地图可视化!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服