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

绘制无轮廓箱体的箱线图时,如何避免须状线与箱体重叠?

解决Matplotlib箱线图须状线与箱体重叠的问题

要避免须状线(whiskers)与无轮廓箱体的重叠,核心是通过调整图形元素的绘制层级(zorder),让箱体显示在须状线的上方。Matplotlib中元素的zorder数值越大,显示层级越高,会覆盖在数值较小的元素之上。

修改后的可运行代码

import matplotlib.pyplot as plt

bp = plt.boxplot([1,2,3], patch_artist=True)
# 配置箱体:设置填充色、隐藏轮廓,并提高层级
plt.setp(bp['boxes'], facecolor='#5454c6', edgecolor='none', zorder=2)
# 配置须状线和帽线:设置线宽,降低层级
for item in ['whiskers', 'caps']:
    plt.setp(bp[item], lw=5, zorder=1)
plt.show()

关键说明

  • patch_artist=True:开启箱体的填充样式支持,才能设置填充色。
  • edgecolor='none':隐藏箱体的轮廓线,符合“不显示箱体轮廓”的需求。
  • zorder设置:将箱体的zorder设为2,须状线/帽线设为1,确保箱体覆盖在须状线上方,彻底解决重叠问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:30:30