数据可视化之pyecharts系列(三) 基本图表绘制

pyecharts是一款将python与echarts结合的强大的数据可视化工具,本系列文章将为你阐述pyecharts的使用细则,让你对数据进行可视化处理时更加得心应手。这一系列中全部代码在Windows 10系统下基于Python3.7和pyecharts1.9.0实际运行通过。

pyecharts是一款将python与echarts结合的强大的数据可视化工具,本系列文章将为你阐述pyecharts的使用细则,让你对数据进行可视化处理时更加得心应手。这一系列中全部代码在Windows 10系统下基于Python3.7和pyecharts1.9.0实际运行通过。

一、前言

在本系列上一篇文章中笔者介绍了使用pyecharts绘制地理图表的方法,运用pyecharts在绘制地图方面有着特有的优势,能动态且直观的展现出绘制者想在地图中表达的资源信息。在这一期文章里,笔者将介绍使用pyecharts绘制雷达图、词云图、日历图等基本图表。

二、使用实例

在本期文章中,我们需要导入的库有:

from pyecharts.charts import *from pyecharts.components import Tablefrom pyecharts import options as optsfrom pyecharts.commons.utils import JsCodeimport  randomimport  datetime

雷达图是一种平行坐标图,是一种从同一点开始的轴上表示多个定量或变量的二维图表。雷达图常用于绘制企业经营状况、展现评价指标之间的关系,能够直观地查看各类数据指标及数据变化趋势。

数据可视化之pyecharts系列(三) 基本图表绘制

雷达图示例

实现代码:

data = [    [66, 91, 123, 78, 82, 67],    [89, 101, 45, 88, 86, 75],    [86, 93, 101, 84, 35, 73],]radar = (Radar()         .add_schema(schema=[             opts.RadarIndicatorItem(name="语文", max_=150),             opts.RadarIndicatorItem(name="数学", max_=150),             opts.RadarIndicatorItem(name="英语", max_=150),             opts.RadarIndicatorItem(name="政治", max_=100),             opts.RadarIndicatorItem(name="地理", max_=100),             opts.RadarIndicatorItem(name="历史", max_=100),         ])    .add('', data))radar.render('雷达图.html')

词云图是一种以各种词汇组成的二维图表,一般用于提取大量文本中的关键字词信息,使读者能一眼扫过词云图便可以明白其主要内容和关键信息,同时也提高了阅读文本的趣味性。

数据可视化之pyecharts系列(三) 基本图表绘制

词云图示例

实现代码:

words = [    ("heart", 173),    ("no", 365),    ("you", 360),    ("can", 282),    ("yes", 273),    ("start", 265),    ("hello", 365),    ("world", 124),    ("PPT", 436),    ("frame", 255),    ("Hadoop", 666),    ("zookeeper", 244),    ("goal", 681),    ("today", 184),    ("Monday", 12),    ("last time", 148),    ("configuration", 247),    ("batter", 182),    ("remember", 255),    ("to", 150),    ("make", 162),    ("her", 266),    ("in", 60),    ("my", 82),]wc = (    WordCloud()    .add("", words))wc.render('词云图.html')

日历图是一种能直观显示出对应日期的某个指标取值的动态图表,利用pyecharts中的Calendar方法绘制日历图十分简单。

数据可视化之pyecharts系列(三) 基本图表绘制

日历图示例

实现代码:

begin = datetime.date(2021, 1, 1)end = datetime.date(2021, 10, 29)data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 1200)]        for i in range((end - begin).days + 1)]calendar = (    Calendar()        .add("", data,calendar_opts=opts.CalendarOpts(range_="2021")))calendar.render('日历图.html')

饼图用于展现图表中各项的大小与各项总和的比例,常在统计学中应用。

数据可视化之pyecharts系列(三) 基本图表绘制

饼图示例

实现代码:

cate = ['meituan','zhifubao','weixin','taobao','jingdong','pinduoduo']data = [123,153,89,107,98,23]pie = (Pie()       .add('', [list(z) for z in zip(cate, data)])       )pie.render('饼图.html')

仪表盘图是pyecharts中一种特有图表,模仿汽车仪表盘码速表,生动地展示某项数据的取值。

数据可视化之pyecharts系列(三) 基本图表绘制

仪表盘图示例

实现代码:

data = (    '不及格率',    12)gauge = (Gauge()          .add("", [data])          )gauge.render('仪表盘图.html')

水球图同样是pyecharts库中一种特色图表,用于展示某一项指标的取值。

数据可视化之pyecharts系列(三) 基本图表绘制

水球图示例

实现代码:

liquid = (Liquid()          .add("", [0.66, 0.34])          )liquid.render('水球图.html')

平行坐标图用于展示在拥有高维度的评价指标情况下,各个评价对象之间的联系和等级。

数据可视化之pyecharts系列(三) 基本图表绘制

平行坐标图示例

实现代码:

data = [    ['301班', 78, 91, 123, 78, 82, 67, "优秀"],    ['302班', 89, 101, 127, 88, 86, 75, "良好"],    ['303班', 86, 93, 101, 84, 90, 73, "合格"],]parallel = (    Parallel()    .add_schema(        [            opts.ParallelAxisOpts(                dim=0,                name="班级",                type_="category",                data=["301班", "302班", "303班"],            ),            opts.ParallelAxisOpts(dim=1, name="语文"),            opts.ParallelAxisOpts(dim=2, name="数学"),            opts.ParallelAxisOpts(dim=3, name="英语"),            opts.ParallelAxisOpts(dim=4, name="政治"),            opts.ParallelAxisOpts(dim=5, name="历史"),            opts.ParallelAxisOpts(dim=6, name="地理"),            opts.ParallelAxisOpts(                dim=7,                name="等级",                type_="category",                data=["优秀", "良好", "合格"],            ),        ]    )    .add("", data))parallel.render('平行坐标图.html')

旭日图是一种特殊的饼图,能清晰地表达层级和从属关系,在pyecharts中我们使用Sunburst方法绘制。

数据可视化之pyecharts系列(三) 基本图表绘制

旭日图示例

实现代码:

data = [    {"name": "广东",     "children": [             {"name": "广州",              "children": [                  {"name": "天河区", "value": 55},                  {"name": "越秀区", "value": 34},                  {"name": "增城区", "value": 66},              ]},             {"name": "东莞",              "children": [                      {"name": "麻涌镇", "value": 156},                      {"name": "望牛墩镇", "value": 134},              ]},             {"name": "汕头", "value": 87},             {"name": "揭阳", "value": 23},     ],     },    {"name": "新疆",     "children": [             {"name": "乌鲁木齐",              "children": [                  {"name": "五家渠", "value": 55},                  {"name": "昌吉", "value": 78},                  {"name": "呼图壁", "value": 34},              ]},             {"name": "阿克苏", "value": 67},             {"name": "克拉玛依", "value": 34},     ],     },    {"name": "重庆", "value": 235}]sunburst = (Sunburst()            .add("", data_pair=data)            )sunburst.render('旭日图.html')

河流图是一种特殊的流图,主要用于表示事件或主题在某一时间段内的变化情况。

数据可视化之pyecharts系列(三) 基本图表绘制

河流图示例

实现代码:

cate = ['meituan','zhifubao','weixin','taobao','jingdong','pinduoduo']date_list = ["2021/10/{}".format(i + 1) for i in range(30)]data = [[day, random.randint(10, 50), c] for day in date_list for c in cate]river = (    ThemeRiver()    .add(        series_name=cate,        data=data,        singleaxis_opts=opts.SingleAxisOpts(type_="time")    ))river.render('河流图.html')

3D散点图,用于展现三维数据在空间中的分布情况。

数据可视化之pyecharts系列(三) 基本图表绘制

3D散点图示例

实现代码:

data = [(random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)) for _ in range(100)]scatter3D = (Scatter3D()             .add("", data)             )scatter3D.render('3D散点图.html')

3D直方图,用于展示三维数据在空间中的分布情况。

数据可视化之pyecharts系列(三) 基本图表绘制

3D直方图示例

实现代码:

data = [[i, j, random.randint(0, 100)] for i in range(24) for j in range(7)]hour_list = [str(i) for i in range(24)]week_list = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']bar3D = (    Bar3D()    .add(        "",        data,        xaxis3d_opts=opts.Axis3DOpts(hour_list, type_="category"),        yaxis3d_opts=opts.Axis3DOpts(week_list, type_="category"),        zaxis3d_opts=opts.Axis3DOpts(type_="value"),    ))bar3D.render_notebook()

以上就是这一期的全部内容,前三期内容笔者介绍了pyecharts库的一些图表的绘制方法,在这一系列的下一篇文章中笔者将介绍pyecharts库中各个函数的配置项,熟练的使用配置项才能创造一个真正属于自己的图表。请各位等待下一期更新。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/60424.html

(0)

相关推荐

  • 德生科技:今后与华为技术更多是在“一卡通”场景建设上合作

    e公司讯,德生科技在路演活动中称,公司与华为技术的合作是基于居民服务“一卡通”项目,双方在人社领域达成了战略合作,目前公司已入选华为供应商资源池短名单。公司深耕民生服务行业多年,在行业内已形成较高的服务壁垒,在北京民生“一卡通”项目上,华为技术采购公司开发的民生卡综合管理系统、财政补贴资金一卡通发放服务信息系统等。今后公司与华为技术更多是在“一卡通”的场景建设上开展深度合作。

    科技 2021年11月28日
  • 丧偶式育儿,丧偶式育儿的意思

    “丧偶式育儿”的罪魁祸首在于夫妻关系的“丧偶”,作为一家之主的丈夫并不参与孩子的教育或成长,也从不关心妻子内心的感受。他们的思想只是停留在维持家庭的温饱,至于妻子和孩子的精神需求,他们只会认为这是一种矫情。

    生活 2021年10月23日
  • 百度造车最新进展 集度开启智驾动态训练

    【太平洋汽车网 新车频道】近日,百度旗下造车公司集度汽车官方公布了造车的最新进展,集度SIMUCar已进入到动态测试阶段,实现了软件周更。集度智能驾驶负责人王伟宝博士表示,集度SIMUCar本月内已新增包括识别信号灯、路口右转、夜间行驶在内的等功能,未来会持续保持周更的研发节奏。

    科技 2021年11月20日
  • 我的试管之路(五)

    今天到达促排卵的尾声[中国赞],医生说再打最后一天,早上抽血的时候遇到了一个姐妹,长得瘦瘦精精,很活泼[耶],意外的是她一胎也是试管,二胎还想试管,我真是太佩服她了赞赞,我整个周期到目前打了有近50针,屁股手臂上戳的青一块紫一块[流泪],上次遇到的时候她第二天移植,今天遇到已经怀上了,真是提她开心,希望我接她好孕[送心]。

    生活 2021年9月25日
  • 抚触让宝宝更聪明、更健康

    皮肤是人体接受外界刺激最主要的感觉器官,是神经系统的外在感受器。抚触孩子就是在孩子脑发育的关键期给脑细胞和神经系统以适宜的刺激,这样做有助于促进孩子神经系统的发育,从而促进其生长及...

    2021年9月26日