版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82503569

9月9日更:本篇博客数据下载:链接:https://pan.baidu.com/s/1G2_oP6ElxAPh-S2miqE6cw 密码:7bjg

- 写在前面


  上次在中国大学MOOC课程信息之数据分析可视化二中,第一次使用了百度开源的pyecharts。真心说,pyecharts真的好用。因此,我又迫不及待地探索其他有趣的绘图方法。
  本篇博客所涉及的数据均来源于国家统计局。pyecharts使用参考:pyecharts官网
  PS:作为一个地图控和数据爱好者,我接下来会不定期更新此博客,感谢大家浏览。

- 环境配置安装


  运行环境:Python3.6、Spyder

  依赖的模块:numpy,pandas,re,pyecharts以及一些地图模块

- 开始工作


1. 获取数据

  在国家统计局官网上点击数据查询。(需要注册登录!)

  在地区数据中的分省年度数据中点击左边的指标,如人口,综合,再设置时间(我取的是最近20年)。

  此次我下载的是各省近20年的GDP以及各省近20年的人口(格式csv)。(时间跨度从1997年到2016年)。如果需要数据的,请留言或私戳。

  用MS Excel打开下载的csv表格,发现有很多说明文字,如:

  因此,这里我们需手动删除掉这些说明文字。

2. 数据读取

gdp_path='D://python_data//provinces_gdp.csv'  #各省GDP文件路径
pop_path='D://python_data//provinces_population.csv'  #各省人口文件路径
gdp_data = pd.read_csv(gdp_path)  #pandas读入csv表格
pop_data = pd.read_csv(pop_path)

  运行之后,发现报错:

![](https://i.imgur.com/063qzGj.png)

仔细检查,原来pandas读入含中文的表格时,需要编码成中文的GB2312格式!

gdp_data = pd.read_csv(gdp_path,encoding='GB2312')  #pandas读入csv表格
pop_data = pd.read_csv(pop_path,encoding='GB2312')

  好了,数据读取成功。现在开始绘图啦!

3. 绘制2016年各省GDP人口条形图

  由于读入的数据为pandas格式,而pyecharts默认为list格式。因此这里需要进行转换(PS:很久之前学的pandas了,好多知识点都忘了,笑哭)。虽然官网上也有相应例子,但发现并不怎么好用。网上搜了一些方法,这篇博客用pandas中的DataFrame时选取行或列写的不错,可以借鉴。

'''2016年各省GDP人口条形图'''
attr=gdp_data['地区'].values.tolist()  #省份名
v1=gdp_data['2016年'].values.tolist() #2016年各省GDP
v2=pop_data['2016年'].values.tolist() #2016年各省人口
bar = Bar("2016年各省GDP人口条形图",title_color="#fff", title_pos="auto",width=1200, height=600,background_color="#404a59")
bar.add("GDP/亿元", attr, v1)
bar.add("人口/万", attr, v2, is_label_show=True,is_datazoom_show=True,xaxis_label_textsize=10,xaxis_rotate=30)
bar.render("2016年各省GDP人口条形图.html")

  说明:各省GDP的数据先取某一列,如2016年的,得到新的Dataframe,再取value值,得到numpy格式的数据,最后将其转换为list格式。

  下方可滑动,可以看到不同的省份的GDP和人口(红色为GDP/万亿元,蓝色为人口/万,)。

4. 绘制指定省历年GDP与人口变化曲线

  我这里选的省份是四川(家乡啦),你也可以选择你的家乡或者感兴趣的。

province='四川省'
attr=gdp_data.columns.tolist()[-1:0:-1]  #年份
v1=gdp_data[gdp_data['地区']==province].values.tolist()[0][-1:0:-1]  #历年GDP数据
v2=pop_data[pop_data['地区']==province].values.tolist()[0][-1:0:-1]  #历年人口数据
line = Line(province+"历年GDP与人口变化曲线",title_color="#404a59", title_pos="auto",width=1200, height=600)
line.add("GDP/亿元", attr, v1, is_stack=True, is_label_show=True)
line.add("人口/万", attr, v2, is_stack=True, is_label_show=True)
line.render(province+"历年GDP与人口变化曲线.html")

  需要指出的是获取历年数据时依照前面方法得到的是二维数组、第一个值不是数据且数据是从2016年到1997年的。因此这里取第一维,去掉第一个值,倒序输出。

  红色为GDP,蓝色为人口,其中人口在前两个为空。可以看出,四川省近20年GDP比人口增长得更快,人民的生活越来越好啦,开心。

5. 绘制2016年全国各省人均GDP地图

  看看2016年哪个地方最发达,人民最富。

'''2016年全国各省人均GDP地图'''
attr=gdp_data['地区'].values.tolist()  #省份名
attr=[re.sub('[自治区市省回族维吾尔壮族]', '', i) for i in attr]
v1=gdp_data['2016年'].values #2016年各省GDP
v2=pop_data['2016年'].values #2016年各省人口
value=np.round(v1/v2,decimals=2).tolist()   #2016年各省人均GDP,保留两位小数
map = Map("2016年全国各省人均GDP地图",title_color="#404a59", title_pos="auto",width=1200, height=600)
map.add("人均/万元",attr,value,visual_range=[0, 12],maptype="china",is_visualmap=True,visual_text_color="#000"
)
map.render("2016年全国各省人均GDP地图.html")

  需要说明的是,由于pyecharts默认的省级行政区不带有“市”,“省”,“自治区”,民族字样,这里需要先将省名预处理,用re去掉多余字符。
  另外,在求人均GDP时,发现Numpy数组相除相对简单。为了数据看着更简洁,这里保留两位小数。

  再看看人均上6万的。

  哎,只有沿海地区外加内蒙古和帝都了。看来西部大开发国家还得继续鼎力支持啊。

6. 绘制近20年全国各省GDP增长率地图

  上边的图有点来气,我们西部好不发达呀。别生气,我们应该换种角度看待问题,那么从近20年的发展来看,情况是怎样的呢?

'''近20年全国各省GDP增长率地图'''
_attr=gdp_data['地区'].values.tolist()  #省份名
attr=[re.sub('[自治区市省回族维吾尔壮族]', '', i) for i in _attr]
value=[]
for i in _attr:gdp=gdp_data[gdp_data['地区']==i].values.tolist()[0][-1:0:-1]  #历年GDP数据rate=round(gdp[-1]/gdp[0],2)value.append(rate)
map = Map("近20年全国各省GDP增长率地图",title_color="#404a59", title_pos="auto",width=1200, height=600)
map.add("增长率/倍",attr,value,visual_range=[0, 16],maptype="china",is_visualmap=True,visual_text_color="#000"
)
map.render("近20年全国各省GDP增长率地图.html")

  情况是这样的:

  我国大多省份在近20年都实现了快速发展(东北发展相对有点缓慢)。

  而看增长大于12倍的省份,好多都是中西部的。看来中西部地区发展速度的比东部沿海地区更快呀。

- 结语


  持续更新中。另外,有需要的话,数据和生成的html网页我会打包放在云盘上共享出来。

pyecharts各省人口GDP可视化分析相关推荐

  1. Python+Tableau第七次人口普查可视化分析

    Python+Tableau第七次人口普查数据分析,绘制历次人口普查人口数量变化图.第七次人口普查不同省份总人口.同时以广东省为例,研究人口,性别分布情况,城镇人口变化. 文章目录 人口普查人口数量变 ...

  2. 【Python可视化】使用Pyecharts进行奥运会可视化分析~

    项目全部代码 & 数据集都可以访问我的KLab --[Pyecharts]奥运会数据集可视化分析-获取,点击Fork即可- 受疫情影响,2020东京奥运会将延期至2021年举行: 虽然延期,但 ...

  3. 数据可视化分析之热门旅游景区数据分析

    背景介绍 对景区的数据分析可以判断热门景区的走向和趋势,从而帮助更好的决定去哪里游玩,具有一定的指导意义. 景区数据分析 这里直接展示数据分析的结果: 首先展示了数据的原始信息,然后,使用了pyech ...

  4. [好文!!!]pyecharts实现星巴克门店分布可视化分析

    pyecharts实现星巴克门店分布可视化分析 项目介绍 使用pyecharts对星巴克门店分布进行可视化分析: 全球门店分布/拥有星巴克门店最多的10个国家或地区: 拥有星巴克门店最多的10个城市: ...

  5. 【手把手教你】股票可视化分析之Pyecharts(二)

    01 引言 Pyechartss 是基于Echarts 的开源可视化库,可以制作非常精美的图表.公众号推文<[手把手教你]股票可视化分析之Pyecharts(一)>,以股票交易数据为例,为 ...

  6. 【Python】pandas获取全省人口数据并作可视化分析

    前言 目录 前言 代码实现 可视化分析 今天我们看看自己所在的省份的人口人数,使用pandas并作可视化分析. 环境使用 python 3.9 pycharm 模块使用 pandas Pandas 是 ...

  7. [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析

    思来想去,虽然很忙,但还是挤时间针对这次YQ写个Python大数据分析系列博客,包括网络爬虫.可视化分析.GIS地图显示.情感分析.舆情分析.主题挖掘.威胁情报溯源.知识图谱.预测预警及AI和NLP应 ...

  8. pyecharts geo_pyechartstableau可视化分析案例+分析思路

    大家好,今天的视频是关于广州市的美食数据可视化分析,对美食的整体分布情况做了一个展示,加上一些美食推荐.我们从四个角度展示我们的数据,地理位置,商圈,得分,美食推荐.文章的重点在于(二)部分,该怎么讲 ...

  9. 全国24小时降水量pyecharts可视化分析

    全国24小时降水量pyecharts可视化分析 分享一个小案例,爬虫抓取天气预报网站的降水量数据,并利用pyecharts库进行可视化生成动态的热力图.数据获取网站如下所示. http://www.n ...

最新文章

  1. cmakelist 定义变量
  2. Unity 4.3 2D 教程:新手上路
  3. LUA 运行期间不独占线程的递归,通过回调实现
  4. java写大文件_java实现超大文件的读写功能
  5. 穹顶灯打不出阴暗面_Java 8星期五:Java 8的阴暗面
  6. 构建用于测试的超大型内存InputStream
  7. java基础学习笔记(一)
  8. Python中遍历指定目录
  9. L3-004. 肿瘤诊断-PAT团体程序设计天梯赛GPLT(广度优先搜索)
  10. POJ 2778 DNA Sequence (Aho-Corasick 矩阵优化) - xgtao -
  11. JavaWeb:XML
  12. 生产订单“生产线别”带入生产入库单
  13. matlab线性代数电子书,实用大众线性代数 MATLAB版_13652907.pdf
  14. keymaker注册机之内在注册机教程
  15. tiff怎么批量转化成jpg或png?
  16. Unity 常用脚本:ScreenCapture
  17. linux同花顺乱码,打开同花顺软件全是问号
  18. e480Linux无法发现无线网卡,ThinkPad无线不能用无法连接无线网络的具体排查流程图解...
  19. 怎么安装sqlserver2000数据库出现挂起提示
  20. 数据库面试考题一览(全面覆盖)

热门文章

  1. 关于setTimeout多次点击会多次执行方法导致运行速度加快的问题
  2. jmeter第21讲 阿里云下载安装JDK并配置环境变量
  3. 云主机和物理机有什么区别?
  4. 获取网易云音乐封面图片
  5. 使用微搭搭建天气预报小程序
  6. Js实现Flash播放效果[带源码]
  7. Win10安装Linux子系统教程
  8. simulink-他励直流电动机的直接启动仿真
  9. 蚁群算法求解TSP问题的源代码
  10. Golang的Ticker使用姿势