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

Python堆叠面积图去除边缘色 解决边缘重叠覆盖显示异常问题

解决方法

该绘图伪影是pandas绘制堆叠面积图时,默认给每个序列的填充区域添加了与填充色同色的边缘线,上层序列的边缘线会覆盖下层区域的顶部边缘,造成视觉上的数值偏差。只需要在调用df.plot.area()时传入linewidth=0参数关闭边缘线绘制即可消除该问题。

修改后的可用代码

import pandas as pd, numpy as np
import matplotlib.pyplot as plt, seaborn as sns

def myplot(df):
    fig, ax = plt.subplots(figsize=(4, 4))
    # 核心修改:添加linewidth=0关闭边缘线
    df.plot.area(ax=ax, linewidth=0)

# 测试用100条观测值的代码
df = pd.DataFrame(np.random.randint(0, 100, size=(100, 4)), columns=list('ABCD'))
myplot(df=df)
plt.show()

补充说明

  • 如果需要更彻底关闭边缘渲染,可额外传入edgecolor='none'参数,效果与linewidth=0一致
  • 若后续需要区分不同序列的边界,可单独设置更细的线宽配合中性边缘色使用,例如linewidth=0.2, edgecolor='white',既不会产生严重覆盖,也能保留序列区分度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:15:04