- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python-geopandas 中国地图绘制
geopandas供应了格外便利的read_file()方法用于读取geojson文件,我们直接进行默认投影(WGS84)的绘制,代码如下:
file?=?r中国省级地图GS(2021)1719号.geojsonnine?=?r九段线GS(2021)1719号.geojsonchina_main?=?gpd.read_file(file)china_nine?=?gpd.read_file(nine)fig,?ax?=?plt.subplots(figsize=(12,?8),dpi=80)ax?=?china_main.plot(ax=ax)ax?=?china_nine.plot(ax=ax)
可视化结果如下:
我们进行投影转换(epsg=2343)和进行一些简约的设置,代码如下:
fig,?ax?=?plt.subplots(figsize=(12,?8),dpi=80)ax?=?china_main.geometry.to_crs(epsg=2343).plot(fc=white,ec=black,ax=ax)ax?=?china_nine.geometry.to_crs(epsg=2343).plot(ec=black,ax=ax)
这里留意to_crs(epsg=2343) 就可以进行投影转换了。
绘图数据操作
接下来,我们将我们要绘制的数据读取、转换并绘制在地图上,数据预览如下:
我们使用如下代码将其转换成具有地理信息的geopandas 格式数据:
scattergdf?=?gpd.GeoDataFrame(????scatter,?geometry=gpd.points_from_xy(scatter.lon,?scatter.lat),????crs=EPSG:4326)scattergdf.head()
结果如下:
接下来再将其转换成 epsg=2343 投影下的数据:
scattergdf_2343?=?scattergdf.to_crs(epsg=2343,?inplace=True)
以上就完成的数据的处理操作了
地图可视化绘制
直接给出绘图代码,然后再进行解释。次要代码如下:
fig,?ax?=?plt.subplots(figsize=(8,5),dpi=200,)plt.rcParams[font.family]?=?[Times?New?Roman]ax?=?china_main.geometry.to_crs(epsg=2343).plot(fc=white,ec=black,linewidth=.8,ax=ax)ax?=?china_nine.geometry.to_crs(epsg=2343).plot(color=gray,linewidth=.9,ax=ax)for?loc,?size,class_name?in?zip(scattergdf_2343.geometry.representative_point(),\????????????????????????????????scattergdf_2343[data],scattergdf_2343[class]):????ax.scatter(loc.x,loc.y,s=10*size,fc=class_color[class_name],ec=black,lw=.5,zorder=2)?#添加刻度线for?spine?in?[top,left,bottom,right]:????ax.spines[spine].set_color(none)ax.set_xlim(china_nine_2343.geometry[0].x-500000,?china_nine_2343.geometry[1].x)ax.set_ylim(china_nine_2343.geometry[0].y,?china_nine_2343.geometry[1].y)ax.set_xticks([])ax.set_yticks([])#单独绘制图例散点ax.scatter([],?[],?c=#E21C21,?s=30,??label=cluster1,ec=black,lw=.5)?ax.scatter([],?[],?c=#3A7CB5,?s=30,??label=cluster2,ec=black,lw=.5)ax.scatter([],?[],?c=#51AE4F,?s=30,??label=cluster3,ec=black,lw=.5)ax.scatter([],?[],?c=white,?s=1*10,label=1,?e
您可能关注的文档
- MVP模式在携程酒店的应用和扩展.docx
- MyBatis中的一级缓存和二级缓存介绍.docx
- MySQL 数据库设计小结.docx
- MySQL 索引失效的几种类型以及解决方式.docx
- MySQL中的锁(表锁、行锁).docx
- MySQL为什么选择B+树存储索引.docx
- MySQL中“诡异”的TIMESTAMP数据类型.docx
- MySQL主从同步那点事儿.docx
- MySQL千万级别大表,你要如何优化?.docx
- MySQL单表查询优化技巧汇总.docx
- Python中encode和encoding的区别是什么?.docx
- Python与Tableau相结合,万字长文搞定传统线下连锁店数据分析.docx
- Python中的基本函数及其常用用法简析.docx
- Python中的基础数据类型(String,Number)及其常用用法简析.docx
- Python也能操作Mysql数据库.docx
- Python也能操作MongoDB数据库.docx
- Python列表知识应知应会.docx
- Python分析《演员请就位》豆瓣评论,我找到了它频频上热搜的原因.docx
- Python办公自动化|从Excel到Word(文末送少儿编程和Git书籍).docx
- Python办公自动化 从PPT到Word.docx
文档评论(0)