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

Excel如何制作分段断开的broken area chart

分隔式(Broken断开分段)面积图实现方法

这个效果不需要特殊定制图表类型,靠数据层面的小调整就能在绝大多数可视化工具里实现,核心逻辑和操作方法如下:

核心实现逻辑

普通面积图默认会把同一系列的所有相邻数据点连接后填充区域,只要在你想要断开分段的位置,插入1行**X轴(分类/时间维度)值与上一段末尾点完全一致、Y轴(数值)留空(Null/NA)**的占位数据,工具渲染时会自动在空值位置切断填充路径,自然形成分段断开的效果。

不同工具的具体操作

  • Excel/WPS 表格

    1. 对照参考效果图的分段位置,找到每段面积结束的最后一行源数据,在该行下方插入新行
    2. 新行的X轴列内容和上一行完全相同,Y轴数值列直接留空,不要填0或者其他内容
    3. 选中整理完成的全量数据,直接插入基础面积图,默认渲染就会在空值位置形成分段间隙
    4. 最后调整每段的填充色、透明度,删掉多余的网格线、冗余坐标轴标注,匹配参考图样式即可
  • Python(Matplotlib/Seaborn)

    1. 读取源数据后,在所有需要分段断开的索引位置插入占位行:X值取前一个点的X值,Y值设为np.nan
    2. 直接调用面积绘制函数即可,Matplotlib默认遇到空值会自动断开路径,不会跨空值填充
      核心参考代码:
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # 替换成你自己的列名和断点位置
    x_col = "date"
    y_col = "value"
    break_indexs = [4, 9, 15] 
    
    # 倒序插入空值行,避免索引偏移
    for idx in sorted(break_indexs, reverse=True):
        null_row = pd.DataFrame({
            x_col: [df.loc[idx, x_col]],
            y_col: [np.nan]
        })
        df = pd.concat([df.iloc[:idx+1], null_row, df.iloc[idx+1:]]).reset_index(drop=True)
    
    plt.figure(figsize=(10, 6))
    plt.fill_between(df[x_col], df[y_col], color="#1f77b4", alpha=0.8)
    plt.show()
    
  • Tableau/Power BI

    1. 数据源预处理阶段和表格操作逻辑一致,在分段位置插入X值重复、度量值为空的占位行
    2. 拖入对应字段选择面积图标记类型即可,工具默认会识别空值显示间隙,不需要额外配置路径断点
    3. 如果渲染后发现段与段之间还是连在一起,检查空值设置项,不要选择「空值补零/插值连接」,切换为「保留间隙」选项即可

注意事项

  • 断点行的X轴值不要改成和前后点不同的内容,否则会在X轴上多出多余的刻度,和上一段末尾点X值保持一致就能保证X轴刻度连续无冗余
  • 如果需要给不同分段设置不同填充色,给每段数据加独立的分组标签列,按标签映射颜色即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:54:27