python用pyecharts实现地图数据可视化

有的时候,我们需要对不同国家或地区的某项指标进行比较,可简单通过直方图加以比较。但直方图在视觉上并不能很好突出地区间的差异,因此考虑地理可视化,通过地图上位置(地理位置)和颜色(颜色深浅代表数值差异)两个元素加以体现。在本文案例中,基于第三方库pyecharts,对中国各省2010-2019年的GDP进行绘制。

我们先来看看最终效果:

关于绘图数据

基于时间和截面两个维度,可把数据分为截面数据、时间序列及面板数据。在本文案例中,某一年各省的GDP属于截面数据,多年各省的GDP属于面板数据。因此,按照先易后难的原则,先对某一年各省的GDP进行地理可视化,再进一步构建for循环对多年各省的GDP进行可视化,形成最终的时间轮播图。

数据来源:本文案例使用的GDP数据来源于国家统计局官网,可在线下载到本地,保存为csv或excel格式,用pandas中的DataFrame进行读取。

地理可视化

一、全国各省单年GDP的可视化

在pyecharts中可使用Map类型实现地理可视化,其原理是通过不同颜色填充以展现不同的数据,options实现图表的调整及修饰。代码展示如下:

import pandas as pd
from pyecharts.charts import Map
import pyecharts.options as opts

frame = pd.read_csv('C:\\Users\\dell\\Desktop\\分省年度数据2.csv',encoding='GBK')
map = Map()
map.add("我国地区的GDP",frame[['地区','2019年']].values.tolist(),"china")
map.set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=500,max_=12000))
map.render("2019年全国各地区GDP.html")

解析:add()来实现了数据的加载,在配置3个参数中——第1个是图的标题,第2个通过.values.tolist()加载要显示的数据,第3个"china"确保显示的地图类型是中国。有个细节需要注意,Map 使用的中国各省份需要将全部的省、市、自治区等去掉。set_global_opts()实现了用颜色标记数据的数值大小,参数min_和max_分别代表最小值和最大值。render()用于生成并保存图像。

效果如下:

然而数据分布并不平均,可以通过is_piecewise 属性表述分段自定义不同的颜色区间:

geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(
    is_piecewise=True,
    pieces=[
        {"min":0,"max":10000,"label":"1~10000","color":"cyan"},
        {"min":10001,"max":20000,"label":"10001~20000","color":"yellow"},
        {"min":20001,"max":50000,"label":"20001~50000","color":"orange"},
        {"min":50001,"max":80000,"label":"50001~80000","color":"coral"},
        {"min":80001,"max":120000,"label":"80001~120000","color":"red"},
    ]   
))

效果如下:

二、全国各省多年GDP的可视化

由于要绘制2010-2019年的GDP数据,可以考虑构建一个for循环,通过str(i)+"年"的形式访问数据表格中处于不同列的各年GDP数据。绘制轮播图可考虑调用Timeline,代码如下:

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map, Timeline

frame = pd.read_csv('C:\\Users\\dell\\Desktop\\分省年度数据2.csv',encoding='GBK')
tl = Timeline()
for i in range(2010, 2020):
    map0 = (
        Map()
        .add("省份",frame[['地区',str(i)+'年']].values.tolist(), "china")
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Map-{}年GDP(亿元)".format(i)),
            visualmap_opts=opts.VisualMapOpts(
                is_piecewise=True,
                pieces=[
                    {"min":0,"max":10000,"label":"1~10000","color":"cyan"},
                    {"min":10001,"max":20000,"label":"10001~20000","color":"yellow"},
                    {"min":20001,"max":50000,"label":"20001~50000","color":"orange"},
                    {"min":50001,"max":80000,"label":"50001~80000","color":"coral"},
                    {"min":80001,"max":120000,"label":"80001~12000","color":"red"},
                ]   ),))
    tl.add(map0, "{}年".format(i))
tl.render("2010~2019年全国各地区GDP.html")

效果如下:

本案例的实现并不复杂,在pyecharts官方的参考案例基础上稍加改动即可实现。作为一名初学者,模仿案例是提升功力的重要途径,通过模仿可以有效吃透代码要具体实现的功能,量变到质变,就能根据自己工作和学习的需要进行灵活应用。

以上就是python用pyecharts实现地图数据可视化的详细内容,更多关于python pyecharts实现地图数据可视化的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python3 pyecharts生成Html文件柱状图及折线图代码实例

    代码如下 pip3 install pyechatrs #! /usr/bin/python3 from pyecharts.charts import Bar, Page from pyecharts import options as opts x = [ 'python数据可视化库 a1','python数据可视化库 b1','python数据可视化库 c1' ] y1 = [ 1140,520,270 ] y2 = [1000,300,500] bar = Bar() #设置x轴 bar

  • python使用pyecharts库画地图数据可视化的实现

    python使用pyecharts库画地图数据可视化导库中国地图代码结果世界地图代码结果省级地图代码结果地级市地图代码结果 导库 from pyecharts import options as opts from pyecharts.charts import Map 中国地图 代码 data = [('湖北', 9074),('浙江', 661),('广东', 632),('河南', 493),('湖南', 463), ('安徽', 340),('江西', 333),('重庆', 275),

  • Python绘制词云图之可视化神器pyecharts的方法

    自定义图片生成词云图的多种方法 有时候我们会根据具体的场景来结合图片展示词云,比如我分析的是美团评论,那么最好的展示方法就是利用美团的logo来做词云图的底图展示,下面我们就介绍几种常用的方法! 根据喜爱的图片生成词云轮廓 from wordcloud import WordCloud import jieba import matplotlib.pyplot as plt import numpy as np import PIL.Image as Image text = open(u'da

  • Python绘制K线图之可视化神器pyecharts的使用

    K线图 概念 股市及期货市bai场中的K线图的du画法包含四个zhi数据,即开盘dao价.最高价.最低价zhuan.收盘价,所有的shuk线都是围绕这四个数据展开,反映大势的状况和价格信息.如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图.月K线图.研究金融的小伙伴肯定比较熟悉这个,那么我们看起来比较复杂的K线图,又是这样画出来的,本文我们将一起探索K线图的魅力与神奇之处吧! K线图 用处 K线图用处于股票分析,作为数据分析,以后的进入大数据肯定是一个趋势和热潮,K线图的专

  • python的pyecharts绘制各种图表详细(附代码)

    环境:pyecharts库,echarts-countries-pypkg,echarts-china-provinces-pypkg,echarts-china-cities-pypkg 数据:2018年4月16号的全国各地最高最低和天气类型的数据--2018-4-16.json(爬虫爬的) 代码:天气数据爬虫代码,图表绘制代码 代码地址:https://github.com/goodloving/pyecharts.git(py文件) 一.公共属性 1.标题栏的属性:一般在实例化(初始化)类

  • Python数据可视化 pyecharts实现各种统计图表过程详解

    1.pyecharts介绍 Echarts是一款由百度公司开发的开源数据可视化JS库,pyecharts是一款使用python调用echarts生成数据可视化的类库,可实现柱状图,折线图,饼状图,地图等统计图表. 2.柱状图 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的比较情况. 优点: 利用柱子的高度,反映数据的差异,肉眼对高度差异很敏感. 缺点: 只适用中小规模的数据集. 柱状图最基本用法 from pyechart

  • 通过Python pyecharts输出保存图片代码实例

    安装pyecharts:pip install pyecharts 安装snapshot-selenium:pip install snapshot-selenium 安装ChromeDriver:下载地址 注意:下载和电脑上的谷歌浏览器版本相同或者相近的版本,将ChromeDriver.exe放到项目文件所在文件夹即可. 代码示例 from pyecharts.charts import Bar from pyecharts import options as opts # 导入输出图片工具

  • python pyecharts 实现一个文件绘制多张图

    Grid并行显示多张图 注意: 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意 from pyecharts import Bar, Line, Scatter, EffectScatter, Grid ''' Grid类:并行显示多个图表 TODO 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意. ''' attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", &quo

  • python实现Pyecharts实现动态地图(Map、Geo)

    一些经常画图的开发人员大概都用过echart,不过小白用Python比较多,学习了python下的Pyecharts,发现这个包真的很强大.下面是小白对动态地图的实践案例: 假如有这样一组数据,全国每个城市的酒店数(虚拟),那么如何在地图上展示呢? 1.Python需要安装Pycharts 当安装完成后需要添加地图包: 安装pyecharts后还需要根据需要安装城市.省份等地图包,下面是对包的整理,大家可以根据需要下载. pip install pyecharts pip install ech

  • Python基于pyecharts实现关联图绘制

    生活中有很多需要用到关联图的地方,至少我认为的是这样的图:https://www.echartsjs.com/examples/zh/editor.html?c=graph-npm 我是在使用Word2Vec计算关联词的余弦距离之后,想要更好的展示出来的时候,遇到的这种情况,就做了下拓展. 画图的步骤主要分为: 1. 将距离数据(或者相关数据)读入: 2. 按照一定的格式和参数将数据保存为json字符串: 3. 根据json串,绘制关联图. 具体而言,主要是: <1>. 首先有一批数据,如图所

  • python绘图pyecharts+pandas的使用详解

    pyecharts介绍 pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒 为避免绘制缺漏,建议全部安装 为了避免下载缓慢,作者全部使用镜像源下载过了 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ echarts-countries-pypkg pip install -i https://pypi.tuna.tsin

随机推荐