SOUL~Z 2024-05-08 09:49 采纳率: 80%
浏览 2
已结题

Python柱状图滚动

我自己测试想写一个滚动的柱状图,timeline写了但是图表不跟着滚动

img


这是我写的代码,以下是效果图

img


图表把三个图表数据全部显示在一个图表上了,好奇怪啊,帮我看看到底是哪里有问题啊

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-08 09:49
    关注

    引自免费微信小程序:皆我百晓生

    从您提供的代码来看,存在一些错误和遗漏的部分,导致了图表的显示不符合预期。这里是修复后的代码,并解释了相应的改动:

    from pyecharts import options as opts
    from pyecharts.charts import Bar, Timeline
    import random  # 用于随机颜色
    
    # 数据准备
    years = [1991, 1992, 1993]
    countries = ['中国', '美国']
    gdp_data = [[55, 66], [99, 55], [41, 20]]
    
    # 创建Bar对象并设置基础属性
    bar_chart = Bar()
    bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="GDP对比"), legend_opts=opts.LegendOpts(pos_top="center"))
    
    # 遍历年份,为每个年份创建一个新的Bar图
    for i, year in enumerate(years):
        bar_series = {
            "name": f"{year}年的GDP",
            "data": gdp_data[i],
            "itemStyle": {"color": f"rgb({random.randint(0, 255)}, {random.randint(0, 255)}, {random.randint(0, 255)})"},
        }
        bar_chart.add.Series(bar_series)
    
    # 创建Timeline对象并添加Bar图到时间线上
    timeline = Timeline()
    timeline.add(bar_chart, years)
    
    # 渲染
    timeline.render("timeline_bar.html")
    

    主要更改点包括:

    1. 引入options模块(from pyecharts import options as opts),这样可以更好地控制图表样式。
    2. 修改了Bar图的创建方式,为每个年份创建一个单独的Series,而不是在同一个Series中添加数据。
    3. 使用随机颜色为每个年份的Bar图分配不同的颜色,使得视觉效果更好。
    4. 使用Timeline的add方法将每个Bar图添加到时间线上,而不是直接将整个Bar图添加。

    这个修复后的代码应该会按照您的期望创建一个滚动的柱状图,每个年份的数据会被正确地分隔开,并且在时间轴上逐个展示。运行这段代码后,会在当前目录生成一个名为timeline_bar.html的文件,其中包含动态的时间线柱状图。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月15日
  • 创建了问题 5月8日

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路