Python基础教程——手搓Python代码来制作地图可视化数据

Python基础教程——手搓Python代码来制作地图可视化数据

19 4 月, 2023 阅读 1772 字数 1706 评论 0 喜欢 0
Python基础教程——手搓Python代码来制作地图可视化数据

 

 

手搓Python代码制作可视化地图

 

 

 

 

 

 

 

 

Python基础教程——手搓Python代码来制作地图可视化数据

在社会学、公共管理、社会心理学研究中,很多时候会需要对文本内容进行分析,获取某些数据后需要在地图上制作一个可视化结果。这次就用手搓Python代码来制作数据的可视化地图。

 

制作这种可视化地图,主要分为两部分。

 

1

获取底版地图

1.获取地图json数据

阿里云的数据可视化平台提供了具有审图号的标准地图json文件

 

Python基础教程——手搓Python代码来制作地图可视化数据

地址:

http://datav.aliyun.com/portal/school/atlas/area_selector

 

点击页面右侧 其他类型 后边的下载标记

 

可以下载到json格式的地图文件

 

json格式的地图数据可以打开看看,是通过各种边界坐标来绘制各地区的地图。

2.json格式数据转成shp格式地图数据

这里我们使用Mapshaper工具转换json为shp格式,shp格式可以直接使用python包Geopandas进行读取和编辑

 

Python基础教程——手搓Python代码来制作地图可视化数据

选择页面的select,读取json文件

Python基础教程——手搓Python代码来制作地图可视化数据

 

 

 

随后点击右上角的Export,导出地图数据为shapefile格式文件,下载下来的是一个压缩包。

 

请将整个压缩包解压,并且将全部文件拷贝到你的python代码的目录下。

 

Python基础教程——手搓Python代码来制作地图可视化数据

 

2

数据链接至底版地图

建议将数据处理成csv文件,列1为省份,列2为数据。直接上代码。

1.导入Python包

import geopandas as gpd

import pandas as pd

import matplotlib.pyplot as plt

import matplotlib as mpl

 

没有安装包就用 pip install XXX来安装

 

2.下面是设置画图时可以显示中文标注

mpl.rcParams['font.sans-serif'] = ['SimSun']  # SimHei SimSun FangSong Kaiti LiSu YouYuan STSong

mpl.rcParams['font.family'] = 'sans-serif'

plt.rcParams['axes.unicode_minus'] = False

 

3.加载数据-矢量地图数据的位置

regions = gpd.GeoDataFrame.from_file('中国地图.shp', encoding='utf-8')

 

4.然后用pandas读取数据的csv文件,并且处理下

data = pd.read_csv('666.csv')

data['area_name'] = data['prov_name']

 

5.链接地图矢量数据属性表与你的数据表格

reg = pd.merge(regions, data, left_on='name', right_on='area_name')

reg02 = reg.copy()

reg02['coords'] = reg02['geometry'].apply(lambda x: x.representative_point().coords[0])

 

6.对画出来的图片进行稍微的修改

reg02.plot(figsize=(16, 16),  # 图像大小

           column='value',  # 分级设色字段

           scheme='quantiles',  # MapClassify-分级类型

           legend=True,  # 图例

           legend_kwds={"loc": "lower left"},

           cmap='Reds',  # 渐变色带的名称

           edgecolor='k')  # 边框颜色

for n, i in enumerate(reg02['coords']):

    plt.text(i[0] - 0.13, i[1], reg02['area_name'][n])  # 标注位置X,Y,标注内容

 

7.最后导出这张图片

plt.savefig('777.png', dpi=300)

最后放上预览图

Python基础教程——手搓Python代码来制作地图可视化数据

地图审图号

GS(2021)6375号

 

 

 

 

 

 

Python基础教程——手搓Python代码来制作地图可视化数据
Python基础教程——手搓Python代码来制作地图可视化数据

第一,人生故事分享

Python基础教程——手搓Python代码来制作地图可视化数据

第二,个人近况分享

Python基础教程——手搓Python代码来制作地图可视化数据

第三,匿名故事分享

Python基础教程——手搓Python代码来制作地图可视化数据

第四,计算机知识分享

Python基础教程——手搓Python代码来制作地图可视化数据

第五,科研知识分享

Python基础教程——手搓Python代码来制作地图可视化数据

第六,旅游知识分享

Python基础教程——手搓Python代码来制作地图可视化数据

第N  。。。。。。。。。

Python基础教程——手搓Python代码来制作地图可视化数据

 

© 2024 守望小站. Powered by WordPress

湘ICP备16008095号-1

湘公网安备 43010202000590号