Pyecharts(v1.x):时间线轮播图

562 阅读1分钟

参考网址

blog.csdn.net/seakingx/ar…

image.png

代码

from pyecharts.charts import Bar, Timeline
from pyecharts import options as opts
 
def create_timeline_bar_data(data_df):
    # 先总的初始化一个TimeLine实例化对象
    tl = Timeline(init_opts=opts.InitOpts(width="1000px",height="700px"))
    
    # 然后针对每个分区,绘制一张柱状图,然后把柱状图添加到时间线图中
    for i in sorted( data_df['分区'].unique() ):
        temp_df = data_df[ data_df['分区'] == i ]
        temp_df = temp_df.sort_values(by='在职员工人数')
        x_data = temp_df['一级部门'].tolist()
        y_data = temp_df['在职员工人数'].tolist()
        
        bar = (Bar()
               .add_xaxis(x_data)
               .add_yaxis("在职人数", 
                          y_data, 
                          label_opts=opts.LabelOpts(position="right"))
               .reversal_axis()
               .set_global_opts(title_opts=opts.TitleOpts(title="快手各一级部门 (日期: {} )".format(i),subtitle='副标题'),
                                xaxis_opts=opts.AxisOpts(name="在职员工人数",axislabel_opts={"rotate":0}),
                                yaxis_opts=opts.AxisOpts(name="一级部门",axislabel_opts={"rotate":-30}))  # 调整
              )
        tl.add(bar,"{}".format(i))
        tl.add_schema(is_auto_play=True,play_interval=100)
        
    tl.render('./快手各一级部门正式员工人数变化图.html')

    
# get_data() 是生成新冠病毒感染人数的模块,此处省略
# 返回格式见上一个代码段示例
data_df = pd.read_excel('../data/aaa.xlsx')
 
# 生成 covid19.html 文件
create_timeline_bar_data(data_df)
print(1111)