pyecharst之带时间轴的柱状图

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")

运行之后会在项目里生成一个网页文件

点击跳转就可以了

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值