软件测试|数据可视化神器——pyecharts教程(二)

举报
霍格沃兹测试开发 发表于 2023/02/19 11:33:58 2023/02/19
【摘要】 前言上篇文章我们介绍了pyecharts的安装和绘制基础的柱状图,本篇文章我们将介绍绘制Map图,很多时候,我们统计数据都会分地区来展示,将数据和地图结合会更加直观,所以,我们今天就来介绍一下绘制带地理信息的图。 GEO 散点图当我们以城市为单位进行统计时,可以使用散点图,城市即可在地图上呈散点分布,代码如下所示:from pyecharts.charts import *from pye...

前言

上篇文章我们介绍了pyecharts的安装和绘制基础的柱状图,本篇文章我们将介绍绘制Map图,很多时候,我们统计数据都会分地区来展示,将数据和地图结合会更加直观,所以,我们今天就来介绍一下绘制带地理信息的图。

GEO 散点图

当我们以城市为单位进行统计时,可以使用散点图,城市即可在地图上呈散点分布,代码如下所示:

from pyecharts.charts import *
from pyecharts import options as opts


def geo_effect_scatter():
    geo = Geo(init_opts=opts.InitOpts(theme='light',
                                      width='1000px',
                                      height='600px'))

    geo.add_schema(maptype="china")

    geo.add("",
            [("广州", 150), ("成都", 70), ("南昌", 64), ("苏州", 100),  ("郑州", 63)],
            # 涟漪效果散点图
            type_='effectScatter')

    return geo


chart = geo_effect_scatter()
chart.render_notebook()
chart.render()

生成的图如下:

在这里插入图片描述

GEO热力图

有时候我们需要以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示。热力图就完美的符合了我们的需要,pyecharts同样支持我们绘制热力图。

from pyecharts.charts import *
from pyecharts import options as opts


def geo_heatmap():
    geo = Geo(init_opts=opts.InitOpts(theme='light',
                                      width='1000px',
                                      height='600px'))

    geo.add_schema(maptype="china")

    geo.add("",
            [("广州", 150), ("成都", 70), ("南昌", 64), ("苏州", 100),  ("郑州", 63)],
            type_='heatmap')
    # 热点图必须配置visualmap_opts
    geo.set_global_opts(visualmap_opts=opts.VisualMapOpts())
    return geo


chart = geo_heatmap()
chart.render_notebook()
chart.render()

结果如下图所示:

在这里插入图片描述

Map带组件

很多时候我们会分省份来统计数据,那pyecharts同样也支持这个功能,我们以2022年全国各省份的GDP为例,来绘制我们带视觉组件的图表。

from pyecharts.charts import *
from pyecharts import options as opts

data = [('广东省', 129118.58),
        ('山东省', 87435),
        ('河南省', 61345),
        ('四川省', 56749.80),
        ('江苏省', 122875.60),
        ('河北省', 42370.40),
        ('湖南省', 48670.37),
        ('安徽省', 45045),
        ('湖北省', 53734.92),
        ('浙江省', 77715),
        ('广西壮族自治区', 26300.87),
        ('云南省', 28954.20),
        ('江西省', 32074.7),
        ('辽宁省', 28975.1),
        ('黑龙江省', 15901),
        ('陕西省', 32772.68),
        ('山西省', 25642.59),
        ('福建省', 53109.85),
        ('贵州省', 20164.58),
        ('重庆市', 29129.03),
        ('吉林省', 13070.24),
        ('甘肃省', 11201.60),
        ('内蒙古自治区', 23159),
        ('台湾省', 51262.8),
        ('上海市', 44652.8),
        ('新疆维吾尔自治区', 17741.34),
        ('北京市', 41610.9),
        ('天津市', 16311.34),
        ('海南省', 6818.22),
        ('香港特别行政区', 23740),
        ('宁夏回族自治区', 5069.57),
        ('青海省', 3610.1),
        ('西藏自治区', 2134.62),
        ('澳门特别行政区', 1929.27)]


def map_with_viusalmap():
    map_chart = Map(init_opts=opts.InitOpts(theme='light',
                                            width='1000px',
                                            height='600px'))
    map_chart.add('GDP(亿人民币)',
                  data_pair=data,
                  maptype='china',
                  # 关闭symbol的显示
                  is_map_symbol_show=False)

    map_chart.set_global_opts(visualmap_opts=opts.VisualMapOpts(
        max_=130000,  # visualmap默认映射数据范围是【0,100】,需调整
        is_piecewise=True,
        range_color=["#CCD3D9", "#E6B6C2", "#D4587A", "#DC364C"],
    ))

    return map_chart


chart = map_with_viusalmap()
chart.render_notebook()
chart.render()

生成图像如下所示:

在这里插入图片描述

注:输入各省数据时,我们必须输入省份名字的全称,如‘江西省’、‘上海市’、‘香港特别行政区’、‘新疆维吾尔自治区’,输入‘江西’时,无法展示江西省的数据。

总结

本文主要介绍了pyecharts结合地图绘制图像的功能,大家可以去尝试一下绘制上述的图像,下一篇文章我们将介绍绘制饼图。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。