python填充地图
作者:互联网
某些公司经常有需求分华东、华南、华北等自定义区域,地图展现时就需要自定义边界,本文介绍如何通过自定义边界绘制地图。
1、geopandas绘制地图
上篇文章地址:https://www.cnblogs.com/ayajing/p/14006082.html
根据上篇文章,geopandas绘图步骤很容易,直接展示绘图代码:
import matplotlib as mpl import matplotlib.pyplot as plt import geopandas # from adjustText import adjust_text mpl.rcParams["font.family"] = "SimHei" mpl.rcParams["axes.unicode_minus"]=False # 用来正常显示负号 plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签 # 读取数据 ch = geopandas.read_file('result.json') # 绘制地图 fig, ax = plt.subplots(figsize = (6, 6), dpi = 200) ch_map = ch.geometry.plot(ax = ax, facecolor = '#FFFFFF', edgecolor = '#C0C0C0', lw = 1) ax.axis('off') # 在地图上添加区名文本 # for loc, label in zip(ch.geometry.representative_point(), ch.name): # ax.text(loc.x, loc.y, label, size = 10, color = '000000') plt.savefig('中国地图.jpg') plt.show()
最后绘制的地图是这样的:
2、绘制上图前可能需要原始的数据,上述代码中的result.json
- 同上一篇文章,找到全国的地图json :http://datav.aliyun.com/tools/atlas/
- 保存为json文件后在name后面新建一个字段area:
- 用网站将json合并
- 打开网站:https://mapshaper.org/
- select文件的位置,导入数据:
- 选择导入(import):
-
打开控制台:
- 在控制台中输入:dissolve 'area' -o result.json
- 点击运行之后,会自动下载一个合并好的json文件
- 将新的json文件的名称改为name (aere不能识别):
-
最后,json文件生成
标签:plt,填充,python,geopandas,地图,json,ch,ax,import 来源: https://www.cnblogs.com/ayajing/p/14050005.html