【python可视化】汇总中国的省市图,并且带经纬度边界

时间:2023-04-02 18:08:01

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

汇总中国的省市图,并且带经纬度边界,用的是mpl_toolkits工具库,pip 和conda安装都会失败


1.安装basemap

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
根据你的Python版本下载basemap
http://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap
注意cp后面的数字是Python的版本。(在页面上按ctrl+F,输入basemap快速定位)
【python可视化】汇总中国的省市图,并且带经纬度边界
挑一个你的版本,在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()

【python可视化】汇总中国的省市图,并且带经纬度边界