轻风客 2023-06-13 11:11 采纳率: 100%
浏览 83
已结题

pyecharts怎么改变图表位置

使用pyecharts里的timeline渲染生成html,x轴的文字太长以致于部分被挡住怎么办,有没有什么办法可以移动图标的位置吗

img

即便加上这条代码,和是一张图相比也没有任何变化,有没有其他的改进方法吗

img

  • 写回答

4条回答 默认 最新

  • Jackyin0720 2023-06-13 12:37
    关注

    如果x轴的文字太长以致于部分被挡住,你可以通过设置xaxis的show属性为false来隐藏x轴,然后将xaxis移动到图表的底部,使得图表的高度变高。你可以使用grid组件来控制图表的位置和大小,然后使用xAxis组件来设置x轴的位置和样式。
    如下小小示例代码中,使用了grid组件来控制图表的位置和大小,将图表移动到底部,使得图表的高度变高。然后设置了时间轴为全局配置项,使得所有子图表都使用同一个时间轴。最后,将数据添加到图表中,并生成html文件。
    参考代码:

    from pyecharts import options as opts  
    from pyecharts.charts import Bar, Timeline  
    from pyecharts.globals import ChartType  
      
    # 构造数据  
    x_data = ['A very long time ago', 'A somewhat long time ago', 'Not that long ago']  
    y_data = [10, 20, 30]  
      
    # 构造图表  
    bar = Bar()  
    bar.add_xaxis(x_data)  
    bar.add_yaxis('', y_data, color="blue")  
    bar.set_global_opts(  
        title_opts=opts.TitleOpts(title="My Chart"),  
        xaxis_opts=opts.AxisOpts(show=False),  # 隐藏x轴  
        grid_opts=opts.GridOpts(top=0, bottom=0.1),  # 将图表移动到底部  
    )  
      
    # 构造时间轴  
    timeline = Timeline()  
    timeline.add("Group 1", [("A very long time ago", 0), ("A somewhat long time ago", 1), ("Not that long ago", 2)])  
    timeline.set_global_opts(  
        is_auto_play=True,  
        play_delay=2000,  
        # 隐藏时间轴图例和说明文字  
        timeline_opts=opts.TimelineOpts(label_opts=opts.LabelOpts(formatter="{b}", pos="right"), show_label=False, show_legend=False),  
    )  
      
    # 将图表合并为一个整体,并设置全局配置项  
    bar.set_global_opts(  
        # 设置时间轴为全局配置项,使得所有子图表都使用同一个时间轴  
        timeline=timeline,  
        # 设置时间轴为顶部显示,而不是默认的底部显示  
        timeline_top="auto",  
    )  
    bar.add("", [("{}-{}".format(i[0], i[1]), j) for i, j in zip(timeline.data[0][1:], y_data)], type=ChartType.BAR)  # 将数据添加到图表中,注意需要将数据格式化为字符串格式,以便于时间轴识别  
    bar.set_global_opts(title_opts=opts.TitleOpts(title="My Chart"))  # 设置标题  
    bar.render("my_chart.html")  # 生成html文件
    
    #如有帮助,恭请采纳
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月21日
  • 已采纳回答 6月13日
  • 创建了问题 6月13日

悬赏问题

  • ¥15 反激PWM控制芯片调研
  • ¥15 Python for loop减少运行时间
  • ¥15 fluent模拟物质浓度udf
  • ¥15 Collection contains no element matching the predicate
  • ¥20 冻品电商平台的搜索是怎么实现的
  • ¥15 如何搞一个可以控制、显示马达频率
  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败