快捷搜索:  汽车  科技

python图表可视化柱状图(数据可视化之pyecharts系列)

python图表可视化柱状图(数据可视化之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="政

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

一、前言

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

二、使用实例

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

from pyecharts.charts import * from pyecharts.components import Table from pyecharts import options as opts from pyecharts.commons.utils import JsCode import random import datetime

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

python图表可视化柱状图(数据可视化之pyecharts系列)(1)

雷达图示例

实现代码:

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')

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

python图表可视化柱状图(数据可视化之pyecharts系列)(2)

词云图示例

实现代码:

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方法绘制日历图十分简单。

python图表可视化柱状图(数据可视化之pyecharts系列)(3)

日历图示例

实现代码:

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')

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

python图表可视化柱状图(数据可视化之pyecharts系列)(4)

饼图示例

实现代码:

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中一种特有图表,模仿汽车仪表盘码速表,生动地展示某项数据的取值。

python图表可视化柱状图(数据可视化之pyecharts系列)(5)

仪表盘图示例

实现代码:

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

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

python图表可视化柱状图(数据可视化之pyecharts系列)(6)

水球图示例

实现代码:

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

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

python图表可视化柱状图(数据可视化之pyecharts系列)(7)

平行坐标图示例

实现代码:

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方法绘制。

python图表可视化柱状图(数据可视化之pyecharts系列)(8)

旭日图示例

实现代码:

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')

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

python图表可视化柱状图(数据可视化之pyecharts系列)(9)

河流图示例

实现代码:

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散点图,用于展现三维数据在空间中的分布情况。

python图表可视化柱状图(数据可视化之pyecharts系列)(10)

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直方图,用于展示三维数据在空间中的分布情况。

python图表可视化柱状图(数据可视化之pyecharts系列)(11)

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库中各个函数的配置项,熟练的使用配置项才能创造一个真正属于自己的图表。请各位等待下一期更新。

猜您喜欢: