提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 1.安装basemap
- 2.下载中国的省市.shp文件
- 3. 代码
前言
汇总中国的省市图,并且带经纬度边界,用的是mpl_toolkits工具库,pip 和conda安装都会失败
1.安装basemap
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
根据你的Python版本下载basemap
http://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap
注意cp后面的数字是Python的版本。(在页面上按ctrl+F,输入basemap快速定位)
挑一个你的版本,在linux上没装上,我在win上用的。
2.下载中国的省市.shp文件
中国行政区边界shp下载,其中包含省,市,县三级,区域包含台湾,藏南等地区
链接:https://pan.baidu.com/s/1JuX6nUjbSzsf5DgU13HMtQ
提取码:7clz
把省市的所有文件都放到python的代码文件夹
3. 代码
代码如下(示例):
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt# 创建 Basemap 实例
m = Basemap(llcrnrlon=73.4467, llcrnrlat=17.2669, urcrnrlon=135.0854, urcrnrlat=53.1231, resolution='l')# 绘制省边界
m.readshapefile("市", 'city', drawbounds=True,color="green")
# 绘制省边界
m.readshapefile("省", 'province', drawbounds=True,color="black")# 绘制经纬度线
m.drawparallels([18,21,28,35,42,49,54], labels=[1,0,0,0], fontsize=10, dashes=[1, 0], color='gray')
m.drawmeridians([75,80,80,90,100,110,120,130,135], labels=[0,0,0,1], fontsize=10, dashes=[1, 0], color='gray')# 添加坐标轴和刻度
plt.xlabel('Longitude', fontsize=14)
plt.ylabel('Latitude', fontsize=14)
plt.xticks(range(70, 150, 10), fontsize=12)
plt.yticks(range(0, 70, 10), fontsize=12)# 调整图像大小和边距
fig = plt.gcf()
fig.set_size_inches(14, 12)plt.show()