新一线城市竞争力盘点,用Python绘制动态图带你看懂!
作者:Mika
数据:真达
后期:泽龙
【导读】今天我们用数据来聊一聊新一线城市。
Show me data,用数据说话
今天我们聊一聊 新一线城市
点击下方视频,先睹为快:
提到一线城市,大家马上会想到北上广深这四个超级大都市。除此之外,近年来新一线城市这个概念也越来越被大众所熟知。
2013年,财经媒体第一财经提出了“新一线城市”的概念,以商业资源集聚度、城市枢纽性、城市人活跃度、生活方式多样性以及未来可塑性作为评判的五大指标,针对全国几百个地级市进行了全新的排名,将未来最有潜力晋升传统一线城市的15个城市称为“新一线城市”。
作为距离一线城市最近的梯队,新一线城市的榜单可以说含金量十足,每年的评选都备受关注。
(来自维基百科)
2020年15座新一线城市包括成都、重庆、杭州、武汉、西安、天津、苏州、南京、郑州、长沙、东莞、沈阳、青岛、合肥、佛山。
(来自21世纪报道)
其中在人口增量方面:西安由于大幅降低落户门槛,且将西咸新区人口纳入人口总数后,在近3年以新增128.87万常住人口,排名15个新一线城市常住人口增量第一位。常住人口增量连年提升的杭州,则以近3年117.2万的增量,排名新一线城市第二位。
和它们相比,天津近3年以来出现常住人口-0.29万的增长,沈阳3年增长了3万,势头微弱。
那么这15座新一线城市
近20年来的GDP变化趋势如何?
人口竞争力如何排座次?
房价又是怎样的?
今天我们就来用数据全面解读这15座城市。
这次我们使用Python的动态可视化库plotly,对这15座城市从2000年到2019年这20年的GDP、人口以及房价数据进行了可视化。下面就让我们来一起看看吧!
我们的数据从以下四个维度展开:
新一线城市2000-2019年GDP变化趋势
新一线城市2000-2019年GDP和人口变化趋势
新一线城市2001-2019年人口增量数据
新一线城市近10年平均房价走势图
01 数据获取
我们使用Python的可视化库Plotly对15座新一线城市的人口/GDP/房价数据进行动态可视化展示。plotly是一个基于javascript的绘图库,绘图种类丰富,效果美观,使用Plotly可以画出很多媲美Tableau的高质量图。
如果你没有安装plotly,可以使用以下代码进行pip安装:
pip install plotly -i https://pypi.tuna.tsinghua.edu.cn/simple
首先导入我们需要使用的包,其中pandas用于数据整理,plotly用于数据可视化。
# 导入包
import pandas as pdimport plotly as py
import plotly.graph_objs as go
import plotly.express as px
from plotly import tools
使用pandas读入并合并数据集,我们选取的数据来自于国家统计局网站,该数据包含了15座新一线城市自2000年~2019年20年期间的GDP和人口数据,这是一份带有时间序列的面板数据,适合进行动态可视化绘图使用。
# 读入数据
df_gdp = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=0)
df_pop = pd.read_excel('../data/新一线城市人口和GDP.xlsx', sheet_name=1)# 合并数据
df_all = pd.merge(left=df_gdp, right=df_pop, on=['城市', '年份'])
df_all = df_all.sort_values(['城市','年份'])
df_all.head()
02 数据可视化
Plotly有两个很常用的绘图模块,分别是graph_objs和express,此次我们主要使用express进行动态可视化图形的绘制,使用它可以轻松绘制如散点图、条形图、漏斗图、桑基图等图形。
使用官网:
https://plotly.com/python/plotly-express/
绘图的步骤也非常简单:
直接使用px调用某个绘图方法,会自动创建画布,并画出图形。
展示图形,可以直接在notebook中展示,也可以使用py.offline.plot(fig,filename="XXX.html")代码保存成html网页动态图片。
接下来我们演示使用plotly.express绘制动态条形图和散点图。
首先绘制一个动态条形图,用于展示15座城市随时间走势的GDP变化趋势,调用bar的方法即可。
绘图主要参数解释:
data_frame:数据框名称
x:列名,展示的维度
y:列名,展示的度量
color:颜色
text:条形图标记文本
title:标题
range_y:y轴的刻度范围
animation_frame:列名,控制动画帧
# 条形图
fig2 = px.bar(df_all, x='城市', y='GDP', color='城市', text='GDP', title='新一线城市近20年GDP变化趋势',range_y=[300, 25000],animation_frame='年份',)
fig2.update_layout(yaxis_title='GDP(亿元)') # 更新布局配置
py.offline.plot(fig2, filename='2000-2019年GDP变化趋势.html')
然后绘制一个动态散点图,用于展示15座城市随时间走势的GDP和人口变化趋势,调用scatter的方法即可。绘图步骤和上述类似。
# 散点图
fig3 = px.scatter(df_all, x='GDP', y='人口', animation_frame='年份', animation_group='城市', size='人口', color='城市', hover_name='城市', size_max=50, text='城市',range_x=[300, 25000], range_y=[150, 4000],title='新一线城市近20年GDP和人口变化趋势', )
fig3.update_layout(xaxis_title='GDP(亿元)', yaxis_title='人口(万人)')
py.offline.plot(fig3, filename='2000-2019年GDP和人口变化趋势.html')
03 可视化效果
下面我们来具体看下可视化效果:
新一线城市
2000-2019年GDP变化趋势
新一线城市
2000-2019年GDP和人口变化趋势
新一线城市
2001-2019年人口增量数据
新一线城市近10年平均房价走势图
相关代码和数据:
链接: https://pan.baidu.com/s/13faaW5m9AWeG6vedHIioBg
提取码: e2gp
参考文献:
新一线城市人口竞争力大盘点:杭州亮了,3年激增百万!有地方却负增长,这些指标很关键!
https://mp.weixin.qq.com/s/btYEttPoeCQ8hOyiRaoPAw
维基百科-一线城市
https://zh.wikipedia.org/wiki/%E4%B8%80%E7%BA%BF%E5%9F%8E%E5%B8%82
●10万条弹幕,发现战神终极奥义!
●12000+字超详细 SQL 语法速成!
后台回复“入群”即可加入小z数据干货交流群
不错????
新一线城市竞争力盘点,用Python绘制动态图带你看懂!相关推荐
- 17张经典动态图带您看懂电动机运行原理!电机一共有多少种?
电动机 电动机是一种旋转式电动机器,它将电能转变为机械能,它主要包括一个用以产生磁场的电磁铁绕组或分布的定子绕组和一个旋转电枢或转子.在定子绕组旋转磁场的作用下,其在电枢鼠笼式铝框中有电流通过并受磁场 ...
- python画动图-Python绘制动态水球图过程详解
先来看看绘制的动态水球图: 没有安装PyEcharts的,先安装PyEcharts: # 安装pyecharts模块,直接安装就是最新的版本pip install pyecharts 安装好PyEch ...
- python画曲线-python绘制动态曲线教程
从txt种获取数据 并且通过动态曲线显示 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation ...
- Python绘制动态图形
Python绘制动态图形 一.柱形图 二.气泡图 三.折线图 四.小提琴图 五.面积图 六.漏斗图 七.带状图 日常生活中,我们经常需要对多年的数据进行分析.如果对每一年的数据都进行可视化,那么将需要 ...
- python进阶(小白也能看懂)——装饰器浅谈(一)
python进阶(小白也能看懂)--装饰器(一) 第四篇 文章目录 python进阶(小白也能看懂)--装饰器(一) 1.函数基础知识 例子1.1 例子1.2 例子1.3 例子1.4 2.不带参数的装 ...
- python进阶(小白也能看懂)——Map、Filter、Reduce
python进阶(小白也能看懂)--Map.Filter.Reduce 第三篇 Map.Filter.Reduce是python中常用的函数,使用这些函数能够给我们带来很多便捷. Map map(fu ...
- python进阶(小白也能看懂)——*args与**kwargs的使用
python进阶(小白也能看懂)--*args与**kwargs的使用 第一篇 理解*args与**kwargs在定义函数时的作用 假设你写了一个函数multiply(函数定义在下面),专门用来处理两 ...
- 常州和南京计算机工资水平,南京和苏州哪一个城市工资高?六张图带你看懂江苏各市平均工资情况...
原标题:南京和苏州哪一个城市工资高?六张图带你看懂江苏各市平均工资情况 中商情报网讯:2017年,江苏省城镇非私营单位就业人员年平均工资为78267元,与2016年相比名义增长9.4%.城镇私营单位就 ...
- ar vr mr 计算机技术,AR/VR/MR傻傻分不清?一图带你看懂三种虚拟现实技术
原标题:AR/VR/MR傻傻分不清?一图带你看懂三种虚拟现实技术 AR.VR早已出现在我们生活中,丰富的AR手机游戏带来了新的娱乐方式,几十块就能买到的VR盒子插进手机就能马上"穿越&quo ...
- python绘制动态图-Python利用Echarts绘制动态交互图:快速入门
我们都知道,Echarts是百度开源的超强大的数据可视化工具.Python中经典的matplotlib.seaborn等库相比,它最大的优点是所绘制的图形为动态图,这意味着我们可以和图形之间进行动态的 ...
最新文章
- Codeforces Round #383 (Div. 1) C(二分图)
- java8 虚拟机调优_Java虚拟机调优(八)-典型配置举例2
- Binary Tree Inorder Traversal
- C语言do...while语句的妙用(包裹宏替换多句代码)(代替go to语法)(隔绝外部变量)
- Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令]
- 近期打算及毕业前要补完的题
- Linux ss命令 报错,ECS Linux中ss命令显示连接状态的使用说明
- hash地址_一致性Hash在负载均衡中的应用
- hdu 5783——Divide the Sequence
- 字体大宝库:设计师必备的专业免费英文字体
- 倒计时 分秒 小程序 方法_小程序天/小时/分秒倒计时封装
- Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答
- 2018-11-08
- cad打开服务器上的文件很慢,cad2018启动慢怎么处理_cad2018打开很慢的解决教程
- 在电脑上修改apk、重新签名apk
- win10电脑装USB CAN 1报错代码39
- java算法——通过身份证号获取出生的年月日
- Plotting data
- sklearn代码9 7-KNN-salay
- 论坛php 图片上传,Discuz! X3 论坛文件图片上传尺寸:小于2M的修改方法
热门文章
- 视频剪辑教程,视频批量分割,分割后的新视频怎么保存
- base64编码计算机网络,什么是Base64(Base64)?
- 视频演示SHAtter越狱iOS 4.1
- 在css中怎么做橡皮擦,js 实现橡皮擦 擦图效果(可用于刮刮卡)
- JavaScript制作日历
- 7.2版升7.5+php7,帝国CMS7.2版升级到7.5版的详细步骤方法(已测)
- 国内 Top2 高校研一在读,为什么感觉深度学习越学越懵?
- 路由与交换 实验一 路由器基本配置
- m4s格式转换mp3_高质量音频转换器,如何转换成mp3音频格式
- 三菱化学控股公司:关于代表执行董事的人事变动通知