variables node matlab向上取整 ios7 progressjs jquery绑定click事件 jquery延时 teamviewer验证被拒绝 mser算法 excel带格式复制粘贴 反函数的二阶导数 后台管理网站模板 python中文文档 python环境设置 python中index的用法 python的安装 python获取字典的值 python安装模块 java8函数式接口 java如何连接mysql java泛型的使用 java集合类型 linux用户 flash实例教程 一键换系统 js判断字符串相等 视频修复工具 语音分析软件 证书小精灵 lol改皮肤软件 ansys安装 英雄联盟美图 打开mysql 方正倩体 pathping 图片格式转换工具 vc运行库 免费剪辑视频的软件 苹果耳机没声音 ps磨皮插件怎么安装
当前位置: 首页 > 学习教程  > 编程语言

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

2020/8/31 13:07:50 文章标签:

一、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 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-基本示例"),
        yaxis_opts=opts.AxisOpts(name="人流量"),
        xaxis_opts=opts.AxisOpts(name="星期"),)
)
bar.render_notebook()

在这里插入图片描述

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

from pyecharts import options as opts
from pyecharts.charts import Bar
l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
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 opts
from pyecharts.charts import Bar
l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
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 opts
from pyecharts.charts import Bar
l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
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 opts
from pyecharts.charts import Bar
import random
l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
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 opts
from pyecharts.charts import Bar
import random
l1=['星期一','星期二','星期三','星期四','星期五','星期七','星期日']
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 opts
from pyecharts.charts import Bar
import random
l1=['很长很长很长很长很长的坐标轴{}'.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 opts
from pyecharts.charts import Bar
import random
l1=['{}日'.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 opts
from pyecharts.charts import Bar
import random
l1=['{}日'.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柱状图的高阶用法,敬请关注!

本文来自公众号:python数据分析之禅


本文链接: http://www.dtmao.cc/news_show_150048.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?