from pyecharts import options as opts from pyecharts.charts import Bar, Timeline from pyecharts.globals import ThemeType # 假设我们有三个时间点的数据 data1 = [("产品A", 10,), ("产品B", 20), ("产品C", 30), ("产品D", 40)] data2 = [("产品A", 15), ("产品B", 25), ("产品C", 35), ("产品D", 45)] data3 = [("产品A", 20), ("产品B", 30), ("产品C", 40), ("产品D", 50)] data4 = [("产品A", 10), ("产品B", 50), ("产品C", 80), ("产品D", 20)] data5 = [("产品A", 200), ("产品B", 130), ("产品C", 440), ("产品D", 350)] data6 = [("产品A", 120), ("产品B", 230), ("产品C", 140), ("产品D", 550)] data7 = [("产品A", 250), ("产品B", 530), ("产品C", 240), ("产品D", 250)] data8 = [("产品A", 220), ("产品B", 430), ("产品C", 240), ("产品D", 150)] # 定义一个颜色列表 colors = ['pink', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'] # 初始化时间轴对象 timeline = Timeline() # 为每个时间点创建一个柱状图,并添加到时间轴上 for i, (date, data) in enumerate([ ("2020-01-01", data1), ("2020-02-01", data2), ("2020-03-01", data3), ("2020-04-01", data4), ("2020-05-01", data5), ("2020-06-01", data6), ("2020-07-01", data7), ("2020-08-01", data8), ], start=0): bar = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT)) .add_xaxis([x[0] for x in data]) .add_yaxis("销售额", [x[1] for x in data], itemstyle_opts=opts.ItemStyleOpts(color=colors[i % len(colors)])) .set_global_opts( title_opts=opts.TitleOpts(title=f"{date} 销售额"), ) ) timeline.add(bar, time_point=date) # 渲染到 HTML 文件 timeline.render("时间轴.html")
运行之后会在项目里生成一个网页文件
点击跳转就可以了