You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中Matplotlib柱状图标签异常问题求助

问题排查与解决方案

问题1:"Re-Open"柱状标签显示空白

可能原因及解决步骤

  1. 索引字符串存在异常字符
    先检查DataFrame对应层级的索引是否包含多余空格、换行或不可见字符:

    # 假设Re-Open是第二层索引,根据实际层级调整level参数
    print(pivot_dftable.index.get_level_values(1))
    

    若发现异常,清理索引内容:

    # 遍历所有层级,清理字符串类索引
    cleaned_levels = []
    for level in pivot_dftable.index.levels:
        if level.dtype == object:
            cleaned_levels.append(level.str.strip().str.replace('\n', ''))
        else:
            cleaned_levels.append(level)
    pivot_dftable.index = pivot_dftable.index.set_levels(cleaned_levels)
    
  2. 对应类别无有效数据
    检查"Re-Open"类别的数据是否全为0或NaN:

    # 替换level参数为实际层级
    re_open_data = pivot_dftable.xs("Re-Open", level=1)
    print(re_open_data.sum().sum())
    

    如果结果为0,可设置y轴最小高度确保标签可见:

    plt.ylim(bottom=0.1)
    
  3. xticks标签未正确传入
    若手动设置x轴标签,确保"Re-Open"被包含在标签列表中:

    # 示例:拼接多层索引作为标签
    xtick_labels = [f"{l1}\n{l2}" for l1, l2 in pivot_dftable.index]
    plt.xticks(range(len(pivot_dftable)), xtick_labels)
    

问题2:底部Queue Category名称被截断

解决步骤

  1. 自动适配布局
    创建子图时启用tight_layout,让Matplotlib自动调整元素位置:

    fig, ax = plt.subplots(figsize=(10, 6), tight_layout=True)
    # 后续绘图代码...
    
  2. 手动调整底部边距
    若自动布局效果不佳,手动设置底部边距:

    plt.subplots_adjust(bottom=0.3)  # 数值根据标签长度调整,0.3为示例
    
  3. 旋转x轴标签
    旋转标签减少横向占用空间,避免截断:

    plt.xticks(rotation=45, ha='right')  # ha='right'让标签右对齐,提升可读性
    
  4. 调整图表尺寸与字体
    增大图表宽度或缩小标签字体:

    # 增大图表尺寸
    fig, ax = plt.subplots(figsize=(12, 7))
    # 缩小标签字体
    ax.tick_params(axis='x', labelsize=9)
    

内容的提问来源于stack exchange,提问作者Paulo Cortez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:27:39