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

一、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.基本柱状图/条形图

from pyecharts import options as opts

from pyecharts.charts import Bar

l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']

l2=[100,200,300,400,500,400,300]bar = (    

Bar() 

.add_xaxis(l1)   

 .add_yaxis("基本柱状图", l2)    

.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))

)

bar.render_notebook()

参数介绍:

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

2.添加坐标轴名称

from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("基本柱状图", l2)    .set_global_opts(        title_opts=opts.TitleOpts(title="Bar-基本示例"),        yaxis_opts=opts.AxisOpts(name="人流量"),        xaxis_opts=opts.AxisOpts(name="星期"),))bar.render_notebook()

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

from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]l3=[300,400,500,400,300,200,100]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .add_yaxis("l3", l3)    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"),                    toolbox_opts=opts.BrushOpts(),))bar.render_notebook()

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

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

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

category_gap:设置间隔

color:设置柱状图颜色

5.横向柱状图

from pyecharts import options as optsfrom pyecharts.charts import Barl1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]l3=[300,400,500,400,300,200,100]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .add_yaxis("l3", l3)    .reversal_axis()    .set_series_opts(label_opts=opts.LabelOpts(position="right"))    .set_global_opts(title_opts=opts.TitleOpts(title="横向柱状图")))bar.render_notebook()

reversal_axis将图形反转

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

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

a.标记线

from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图"))    .set_series_opts(        label_opts=opts.LabelOpts(is_show=False),        markline_opts=opts.MarkLineOpts(            data=[                opts.MarkLineItem(type_="min", name="最小值"),                opts.MarkLineItem(type_="max", name="最大值"),                opts.MarkLineItem(type_="average", name="平均值"),            ]        ),    ))bar.render_notebook()

b.标记点

from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']l2=[100,200,300,400,500,400,300]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .set_global_opts(title_opts=opts.TitleOpts(title="标记线柱状图"))    .set_series_opts(        label_opts=opts.LabelOpts(is_show=False),        markpoint_opts=opts.MarkPointOpts(            data=[                opts.MarkPointItem(type_="min", name="最小值"),                opts.MarkPointItem(type_="max", name="最大值"),                opts.MarkPointItem(type_="average", name="平均值"),            ]        ),    ))bar.render_notebook()

7.旋转x轴坐标

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

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

8.横坐标缩放

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

from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['{}日'.format(i) for i in range(1,31)]l2=[random.choice(range(100,3100,100)) for i in range(1,31)]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"),                    datazoom_opts=opts.DataZoomOpts(type_="inside")))bar.render_notebook()

b.左右滑动缩放

from pyecharts import options as optsfrom pyecharts.charts import Barimport randoml1=['{}日'.format(i) for i in range(1,31)]l2=[random.choice(range(100,3100,100)) for i in range(1,31)]bar = (    Bar()    .add_xaxis(l1)    .add_yaxis("l2", l2)    .set_global_opts(title_opts=opts.TitleOpts(title="区域缩放柱状图"),                    datazoom_opts=opts.DataZoomOpts(type_="slider")))bar.render_notebook()

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

-完-


长按回复下方【关键词】,获取优质资源:

回复关键词【福利1】,立即获取python数据分析教学视频

回复关键词【福利2】,立即获取python学习电子书

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342