Loading

11-pyecharts使用Tab不完全代码示例

from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line, Pie, Tab, Page, Scatter, Map
from pyecharts.components import Table
import matplotlib.pyplot as plt
from pyecharts.options import ComponentTitleOpts


def origin_data() -> Table:
    global res
    table = Table()
    headers = list(res.columns)
    rows = [list(res.iloc[index]) for index in res.index]
    table.add(headers, rows)
    table.set_global_opts(
        title_opts=ComponentTitleOpts(title="Top100")
    )
    return table


def distribute_cons_sex() -> Bar:
    global res
    c = (
    Bar(init_opts=opts.InitOpts(width="1300px"))
    .add_xaxis(b_cons_new)
    .add_yaxis("Top100_male", [round(cons/len(res[res['sex']==1]), 2) for cons in a_cons_male])
    .add_yaxis("Top100_female", [round(cons/len(res[res['sex']==2]), 2) for cons in a_cons_female])
    .set_global_opts(
        yaxis_opts=opts.AxisOpts(name="人数占比"),
        xaxis_opts=opts.AxisOpts(name="消费区间(单位:元)", axislabel_opts=opts.LabelOpts(rotate=-25)),
        title_opts=opts.TitleOpts(title="Top100-男女消费分布对比", pos_top=480),
        legend_opts=opts.LegendOpts(pos_top=530),
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False),
        markpoint_opts=opts.MarkPointOpts(
            data=[
                opts.MarkPointItem(type_="max", name="最大值")
            ]
        ),
    )
)
    return c


tab = Tab()
tab.add(origin_data(), "原始数据")
tab.add(grid_consumption, '消费分布')
tab.add(grid_sex, '性别分布')
tab.add(grid_age, '年龄分布')
tab.add(grid_height, '身高分布')
tab.add(grid_weight, '体重分布')
tab.add(grid_occupation, '职业分布')
tab.add(distribute_city(), '地域分布')
tab.render("消费前100用户属性分布.html")
posted @ 2021-08-28 18:02  lotuslaw  阅读(632)  评论(0编辑  收藏  举报