栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pyecharts笔记(8)-不定系列数的Bar图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pyecharts笔记(8)-不定系列数的Bar图

前言

多条同类折线图不想一条一条写配置。故建立空图,通过for循环和overlap()叠加同类折线图,可以实现line()的多系列图(链接)。

import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker
import pandas as pd

#读取excle数据
数据 = pd.read_excel(r"C:UserslenovoDesktopdata_test.xlsx",sheet_name='Sheet2')
print(数据)

# 提取列名并转化为列表,倒序(个人需求,可以不用)
列名_list = list(数据.columns.values)
列名_list.reverse()

def sell_result2() -> Line:
    c = (
        Line()
        .add_xaxis(数据["{}".format(列名_list[-1])].values.tolist())
        .set_global_opts(title_opts=opts.TitleOpts(title="公司销售情况"))
    )
    for i in range(0,5):
        c_ = (
            Line()
            .add_xaxis(数据["{}".format(列名_list[-1])].values.tolist())
            #.add_yaxis(columns[i], data[i])
            .add_yaxis("{}".format(列名_list[i]), 数据["{}".format(列名_list[i])].values.tolist(), is_symbol_show=False,    is_connect_nones=True, linestyle_opts=opts.LineStyleOpts(width=2),    label_opts=opts.LabelOpts(is_show=False), )
        )

        c.overlap(c_)					# 堆叠
    return c

sell_result2().render('循环细节设置.html')

不定系列数的Bar图

但我试过该方法在bar()上失效。故想出了另外的解法,分享如下。

####### 循环Bar图 ##########

def common_bar():
    print('循环Bar图')
    xaxis_data = ['理论训', '实训第1天', '实训第2天', '实训第3天']
    yaxis_data = [[22, 332, 1, 278],[122, 332, 9, 278],[222, 33, 69, 278],[322, 32, 16, 78]]
    if len(yaxis_data)==1:
        c = (
            Bar()
            .add_xaxis(xaxis_data)
            .add_yaxis("day1",yaxis_data[0],label_opts=opts.LabelOpts(is_show=True), )
            .set_global_opts(title_opts=opts.TitleOpts(title="实训状况"))
        )
    elif len(yaxis_data)==2:
        c = (
            Bar()
            .add_xaxis(xaxis_data)
            .add_yaxis("day1",yaxis_data[0],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day2",yaxis_data[1],label_opts=opts.LabelOpts(is_show=True), )
            .set_global_opts(title_opts=opts.TitleOpts(title="实训状况"))
        )
    elif len(yaxis_data)==3:
        c = (
            Bar()
            .add_xaxis(xaxis_data)
            .add_yaxis("day1",yaxis_data[0],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day2",yaxis_data[1],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day3",yaxis_data[2],label_opts=opts.LabelOpts(is_show=True), )
            .set_global_opts(title_opts=opts.TitleOpts(title="实训状况"))
        )
    elif len(yaxis_data)==4:
        c = (
            Bar()
            .add_xaxis(xaxis_data)
            .add_yaxis("day1",yaxis_data[0],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day2",yaxis_data[1],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day3",yaxis_data[2],label_opts=opts.LabelOpts(is_show=True), )
            .add_yaxis("day4",yaxis_data[3],label_opts=opts.LabelOpts(is_show=True), )
            .set_global_opts(title_opts=opts.TitleOpts(title="实训状况"))
        )

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号