python教程42-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 版本进行展示 安装命令为:

pip3 install pyecharts==1.7.1

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

1.基本柱状图/条形图

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-基本示例", 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()

图片

文章来源微信公共账号: python数据分析之禅
部分内容做过改编

  • 18
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python pyecharts是一个强大的数据可视化库,可以用来创建各种类型的图表,包括柱状图。想要创建一个柱状图,首先需要安装pyecharts库,然后导入Bar类。接下来,我们可以定义x轴和y轴的数据,然后创建一个Bar对象,并将数据传递给该对象。最后,可以使用render()方法将图表渲染成HTML文件或者直接显示在Jupyter Notebook中。 下面是一个简单的例子,演示如何使用pyecharts创建一个柱状图: ```python from pyecharts import options as opts from pyecharts.charts import Bar # 定义x轴和y轴的数据 x_data = ['A', 'B', 'C', 'D', 'E'] y_data = [10, 20, 30, 40, 50] # 创建一个Bar对象 bar = ( Bar() .add_xaxis(x_data) .add_yaxis("数量", y_data) .set_global_opts( title_opts=opts.TitleOpts(title="柱状图示例"), xaxis_opts=opts.AxisOpts(name="类别"), yaxis_opts=opts.AxisOpts(name="数量"), ) ) # 渲染图表 bar.render("bar_chart.html") ``` 在这个例子中,我们首先定义了x轴和y轴的数据,然后创建了一个Bar对象,并使用add_xaxis()和add_yaxis()方法分别添加x轴和y轴的数据。接着,使用set_global_opts()方法设置了图表的标题、x轴和y轴的标签。最后,使用render()方法将图表渲染成HTML文件。 通过上面的步骤,我们就可以使用Python pyecharts创建一个简单的柱状图。当然,pyecharts还有很多其他功能和定制选项,可以根据实际需求来创建更加复杂和美观的柱状图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值