Python用pyecharts绘制中国各地级市gdp分布点图 您所在的位置:网站首页 中国各省gdp数据可视化 Python用pyecharts绘制中国各地级市gdp分布点图

Python用pyecharts绘制中国各地级市gdp分布点图

2023-07-18 14:53| 来源: 网络整理| 查看: 265

在这里插入图片描述 把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多,或者其他的呈现方式要更好。如上图,全国各个地级市的GDP用地图散点图呈现其实更加明了。 python里面有一个pyecharts包,里面有一个Geo组件,就支持在地理坐标系上绘制散点图。

安装pyecharts

打开命令窗口,使用pip安装。

pip install pyechart

绘制地图除了pyecharts包,还需要导入相应的地图文件包,同样是使用pip安装。

pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install echarts-china-misc-pypkg 全球国家地图: echarts-countries-pypkg :世界地图和 213 个国家,包括中国地图中国省级地图: echarts-china-provinces-pypkg :23 个省,5 个自治区中国市级地图: echarts-china-cities-pypkg :370 个中国城市中国县区级地图: echarts-china-counties-pypkg :2882 个中国县、区中国区域地图: echarts-china-misc-pypkg :11 个中国区域地图,比如华南、华北。 使用Geo组件

pyecharts是一个功能很全面的包,其中有一个Geo组件,该组件是地理坐标系组件,用于地图的绘制,支持在地理坐标系上绘制散点图。地理坐标系就是地点的经纬度。所以如果要用pyecharts在地图上绘制散点图,就需要用到地点的经纬度。

我们先来看一下Geo组件用来绘制散点的参数。

参数含义attr标签名称(在例子里面就是地点)value数值(在例子里就是GDP)visual_range可视化的数值范围symbol_size散点的大小visual_text_color标签颜色is_piecewise颜色是否分段显示(False为渐变,True为分段)is_visualmap是否映射(数量与颜色深浅是否挂钩)maptype地图类型,可以是中国地图,省地图,市地图等等visual_split_number可视化数值分组geo_cities_coords自定义的经纬度

了解到这些参数之后我们就可以用pyecharts来绘制地图了。 我们先导入Geo组件和pandas库,用来读取我们的数据表格。

from pyecharts import Geo import pandas as pd

我们先用pandas读取我们的数据,关于全国各个地级市2016年的GDP(数据有缺失)。

df = pd.read_excel('各省市经纬度.xlsx') df.head()

在这里插入图片描述 我们可以看到每一个地级市对应的经纬度和GDP。 我们首先建立一个Geo坐标系,设定好图片标题,以及图片大小和背景色。

geo = Geo("2016年全国各地级市GDP(万亿)",#设置地图标题 title_color="#fff",#设置标题颜色为白色 title_pos="center",#标题位置在中间 width=1200,#图片宽度 height=600,#图片长度 background_color='#404a59'#设置图片背景颜色 )

这时我们已经建立了一个地图坐标系,我们要向里面传入绘制散点的参数。这之前我们要先了解geo_cities_coords这个参数。 geo_cities_coords这个参数比较特殊,它的参数是一个字典,每一组是这样写的:城市名:[经度,纬度]。如: 在这里插入图片描述 geo_cities_coords的key值与attr 是一致的。

了解到这些那我们现在构建参数。

attr = list(df['市']) value = list(df['GDP(万亿)']) geo_cities_coords = {df.iloc[i]['市']:[df.iloc[i]['经度'], df.iloc[i]['纬度']] for i in range(len(df))}

参数构建好了,我们往我们构建好的地理坐标系传入我们构建好的参数。利用add传进去参数。

geo.add("", #标题,构建坐标系的时候已经写好,不需要设置,设为空 attr,#城市名 value,#各城市的GDP visual_range=[0, 28000],#可视化深浅的范围 visual_text_color="#fff",#标签的颜色 is_piecewise=True,#设置颜色分段显示 visual_split_number=10,#设置10个不同的组 symbol_size=7.5,#设置散点大小为7.5 is_visualmap=True,#设置颜色与value一一对应,value越高,颜色越深 geo_cities_coords=geo_cities_coords#设置散点所在的经纬度 )

在这里插入图片描述 我们通过attr,value,geo_cities_coords传入城市名,GDP,经纬度参数。我们可以看到绘制出来的图中散点分成了10组,每一组代表了2800万亿元人民币。颜色越深,代表GDP越高,颜色越浅,GDP越低。 我们要把图片保存下来,在我们绘制好的图片的右侧,有三个图标,有一个下载的标志,点击这个标志,可以将图片下载为png格式的。 在这里插入图片描述 除此之外,我们还可以将图片保存为html格式,可以实现更好的可视化操作。 我们可以使用render将图片保存为html格式。

geo.render(path="2016年全国各地级市GDP(万亿).html")

我们可以在文件夹找到这个html文件,我们打开它。可以使用鼠标放大缩小,也可以点击不同的分组呈现不同分组的GDP。 在这里插入图片描述 可以看到保存为html格式的话其实可以做更多的可视化操作。 我们在左下角的图例里只选中0-2800。 在这里插入图片描述 可以看到全国各个地级市的GDP还是0-2800万亿元人民币的最多。

而我们只选择最上面两个的时候。 在这里插入图片描述 我们可以看到全国2016年GDP超过22400万亿元人民币的只有两个城市,分别是北京和上海,当然,这两个城市也不算地级市。

如果我们把is_visualmap设置为False,这时候颜色与GDP就没有关系了,所有的点只有一个颜色,我们的图就是全国各个地级市的地理位置。 在这里插入图片描述 PS:需要从最开始重新构建一个新的Geo地理坐标系,不然图片不会变化。 如果我们把is_piecewise设置为False,这时候颜色就不是分段显示了,而是按照GDP的大小颜色渐变显示。保存为html格式同样可以进行可视化操作。 在这里插入图片描述 这样我们就用pyecharts绘制了全国各个地级市的GDP在地图上的散点图了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有