python数据分析——pyecharts柱状图全解(小白必看)

一、pyecharts简介


pyecharts主要基于Web浏览器进行显示,绘制的图形比较多,包括折线图、柱状图、饼图、漏斗图 地图和极坐标图等。使用pyecharts绘图代码量很少,但绘制的图形比较美观。

pyecharts 分为 v0.5.X 和 v1 两个大版本,v0.5.X 和 v1 间不兼容,v1 是一个全新的版本 v0.5.X支持 Python2.7,3.4+。

经开发团队决定,0.5.x 版本将不再进行维护,0.5.x 版本代码位于 05x 分支 ,v1仅支持 Python3.6+,新版本系列将从 v1.0.0 开始。

本文所讲主要基于 pyecharts 1.7.1 版本进行展示 安装命令为:

pip install pyecharts==1.7.1

二、pyecharts柱状图/条形图全解

1.基本柱状图/条形图

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("基本柱状图", l2) 9 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题")) 10) 11bar.render_notebook()

参数介绍:

add_xaxis:添加横坐标,需传入列表 add_yaxis:添加纵坐标,需传入列表,切列表元素为数值

2.添加坐标轴名称

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("基本柱状图", l2) 9 .set_global_opts( 10 title_opts=opts.TitleOpts(title="Bar-基本示例"), 11 yaxis_opts=opts.AxisOpts(name="人流量"), 12 xaxis_opts=opts.AxisOpts(name="星期"),) 13) 14bar.render_notebook()

3.多个纵坐标的柱状图/条形图

1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6l3=[300,400,500,400,300,200,100] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .add_yaxis("l3", l3) 12 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"), 13 toolbox_opts=opts.BrushOpts(),) 14) 15bar.render_notebook()

opts.BrushOpts()为圈选工具,如图形右上角所示

4.设置柱状图间隔和颜色

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 4l2=[100,200,300,400,500,400,300] 5bar = ( 6 Bar() 7 .add_xaxis(l1) 8 .add_yaxis("l2",l2,category_gap=0, color='#FFFF00') 9 .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题")) 10) 11bar.render_notebook()

category_gap:设置间隔

color:设置柱状图颜色

5.横向柱状图

1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6l3=[300,400,500,400,300,200,100] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .add_yaxis("l3", l3) 12 .reversal_axis() 13 .set_series_opts(label_opts=opts.LabelOpts(position="right")) 14 .set_global_opts(title_opts=opts.TitleOpts(title="横向柱状图")) 15) 16bar.render_notebook()

reversal_axis将图形反转

position="right"表示将数值在图形右侧显示,同理left、center分别表示左侧和中间

6.显示最大值、最小值和平均值

a.标记线

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图")) 11 .set_series_opts( 12 label_opts=opts.LabelOpts(is_show=False), 13 markline_opts=opts.MarkLineOpts( 14 data=[ 15 opts.MarkLineItem(type_="min", name="最小值"), 16 opts.MarkLineItem(type_="max", name="最大值"), 17 opts.MarkLineItem(type_="average", name="平均值"), 18 ] 19 ), 20 ) 21) 22bar.render_notebook()

b.标记点

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日'] 5l2=[100,200,300,400,500,400,300] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图")) 11 .set_series_opts( 12 label_opts=opts.LabelOpts(is_show=False), 13 markpoint_opts=opts.MarkPointOpts( 14 data=[ 15 opts.MarkPointItem(type_="min", name="最小值"), 16 opts.MarkPointItem(type_="max", name="最大值"), 17 opts.MarkPointItem(type_="average", name="平均值"), 18 ] 19 ), 20 ) 21) 22bar.render_notebook()

7.旋转x轴坐标

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['很长很长很长很长很长的坐标轴{}'.format(i) for i in range(10)] 5l2=[random.choice(range(10,100,10)) for i in range(10)] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)), 11 title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题")) 12) 13bar.render_notebook()

rotate=-15表示将坐标轴逆时针旋转15度

8.横坐标缩放

a.整体缩放(type_="inside")

1 2from pyecharts import options as opts 3from pyecharts.charts import Bar 4import random 5l1=['{}日'.format(i) for i in range(1,31)] 6l2=[random.choice(range(100,3100,100)) for i in range(1,31)] 7bar = ( 8 Bar() 9 .add_xaxis(l1) 10 .add_yaxis("l2", l2) 11 .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"), 12 datazoom_opts=opts.DataZoomOpts(type_="inside")) 13) 14bar.render_notebook()

b.左右滑动缩放

1from pyecharts import options as opts 2from pyecharts.charts import Bar 3import random 4l1=['{}日'.format(i) for i in range(1,31)] 5l2=[random.choice(range(100,3100,100)) for i in range(1,31)] 6bar = ( 7 Bar() 8 .add_xaxis(l1) 9 .add_yaxis("l2", l2) 10 .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"), 11 datazoom_opts=opts.DataZoomOpts(type_="slider")) 12) 13bar.render_notebook()

本次主要介绍了pyecharts柱状图的常见形式,后续会出来pyecharts柱状图的高阶用法,敬请关注!

-------------------********************************** End **********-------------**-----********-**********************************

往期精彩文章推荐:

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/JDRzd8-_eT_v9GGP1GIccw,如有侵权,请联系删除。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )