数据可视化之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)

相关推荐