温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中pyecharts如何绘制柱状图

发布时间:2021-12-17 12:26:09 来源:亿速云 阅读:276 作者:小新 栏目:开发技术

这篇文章主要介绍Python中pyecharts如何绘制柱状图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、pyecharts绘制柱状图语法简介

柱状/条形图,通过柱形的高度/条形的宽度来表现数据的大小。

Bar.add() 方法签名:

add(name, x_axis, y_axis,
is_stack=False,
bar_category_gap='20%', **kwargs)

  • name->str 图例名称

  • x_axis->list x坐标轴数据

  • y_axis->list y坐标轴数据

  • is_stack->bool 数据堆叠,同个类目轴上系列配置相同的stack值可以堆叠放置

  • bar_category_gap->int/str 类目轴的柱状距离,当设置为0时柱状是紧挨着(直方图类型),默认为'20%'

  • mark_point 标记点 取值为:average min max

  • mark_line 标记线 取值为:average min max

  • is_convert=True x轴和y轴交换

  • is_label_show=True 显示数据标签

  • xaxis_rotate=30, yaxis_rotate=30 旋转x轴或y轴的标签

  • label_color 设置柱子颜色

二、绘制普通柱状图

from pyecharts import Bar
#Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"]
v1 = [5, 20, 36, 10, 75, 90 , 30]
v2 = [10, 25, 8, 60, 20, 80 , 50]
bar = Bar("柱状图数据堆叠示例") #设置标题
bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True)
bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True)
bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件

Python中pyecharts如何绘制柱状图

三、绘制堆叠柱状图

from pyecharts import Bar

#Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。
#is_stack->bool 数据堆叠,同个类目轴上系列配置相同的stack值可以堆叠放置
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"]
v1 = [5, 20, 36, 10, 75, 90 , 30]
v2 = [10, 25, 8, 60, 20, 80 , 50]
bar = Bar("柱状图数据堆叠示例") #设置标题
bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True,is_stack=True)
bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True,is_stack=True)
bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件

Python中pyecharts如何绘制柱状图

四、绘制横向柱状图

from pyecharts import Bar

#is_convert=True x轴和y轴交换
#Note: 全局配置项要在最后一个 add() 上设置,否侧设置会被冲刷掉。

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","床垫"]
v1 = [5, 20, 36, 10, 75, 90 , 30]
v2 = [10, 25, 8, 60, 20, 80 , 50]
bar = Bar("柱状图数据堆叠示例") #设置标题
bar.add("商家A", attr, v1,mark_point=["average"],is_label_show=True,is_convert=True)
bar.add("商家B", attr, v2,mark_line=["min", "max"],is_label_show=True,is_convert=True)
bar.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html') #生成HTML文件

Python中pyecharts如何绘制柱状图

五、pyecharts柱状图datazoom案例

Python中pyecharts如何绘制柱状图

Python中pyecharts如何绘制柱状图

Python中pyecharts如何绘制柱状图

Python中pyecharts如何绘制柱状图

六、对应pyecharts柱状图datazoom案例的代码我用page放一起了

#coding=utf-8
from __future__ import unicode_literals
from pyecharts import Bar
from pyecharts import Page
import random
page = Page()
#dataZoom 效果,'slider' 类型
attr = ["{}天".format(i) for i in range(30)]
v1 = [random.randint(1, 30) for _ in range(30)]
bar = Bar("Bar - datazoom - slider 示例")
bar.add("", attr, v1, is_label_show=True, is_datazoom_show=True,xaxis_rotate=30, yaxis_rotate=30)
page.add(bar)

#dataZoom 效果,'inside' 类型
attr = ["{}天".format(i) for i in range(30)]
v1 = [random.randint(1, 30) for _ in range(30)]
bar2 = Bar("Bar - datazoom - inside 示例")
bar2.add(
    "",
    attr,
    v1,
    is_datazoom_show=True,
    datazoom_type="inside",
    datazoom_range=[1, 50],
)
page.add(bar2)
#dataZoom 效果,'both' 类型
attr = ["{}天".format(i) for i in range(30)]
v1 = [random.randint(1, 30) for _ in range(30)]
bar3 = Bar("Bar - datazoom - both 示例")
bar3.add(
    "",
    attr,
    v1,
    is_datazoom_show=True,
    datazoom_type="both",
    datazoom_range=[1, 40],
    label_color=["#749f83"]
)
page.add(bar3)
days = ["{}天".format(i) for i in range(30)]
days_v1 = [random.randint(1, 30) for _ in range(30)]
bar4 = Bar("Bar - datazoom - xaxis/yaxis 示例")
bar4.add(
    "",
    days,
    days_v1,
    # 默认为 X 轴,横向
    is_datazoom_show=True,
    datazoom_type="slider",
    datazoom_range=[1, 50],
    # 新增额外的 dataZoom 控制条,纵向
    is_datazoom_extra_show=True,
    datazoom_extra_type="slider",
    datazoom_extra_range=[1, 50],
    is_toolbox_show=False,
)
page.add(bar4)
page.render(r'C:\Users\ASUS\Desktop\重新开始\Python用pyecharts绘图\柱状图1.html')

以上是“Python中pyecharts如何绘制柱状图”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI