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

如何移除Python Matplotlib+Seaborn生成的条形图中的线条?

移除水平条形图中的多余线条

针对你遇到的多余线条问题,主要可以从边框、刻度线和网格线三个方面处理,具体修改如下:

1. 移除所有边框(Spines)

当前代码仅移除了左侧和底部的边框,顶部和右侧的边框仍会显示。修改sns.despine的参数,一次性移除所有方向的边框:

sns.despine(ax=ax, left=True, bottom=True, top=True, right=True)

2. 彻底清除Y轴刻度线

你当前只隐藏了Y轴的标签,但刻度线可能还残留。直接关闭Y轴刻度的可见性,同时隐藏标签:

ax.set_yticks([])  # 替代原来的ax.set_yticklabels([])

3. 关闭网格线(如果有多余网格)

如果图表中存在默认的网格线干扰,添加一行代码关闭所有网格:

ax.grid(False)

修改后的完整代码

fig = figure.Figure(figsize=figsize)
ax = fig.add_subplot()

g = sns.barplot(y=y, x=x, data=data, ax=ax, ci=False, orient='h', order=orderlist) 

g.set(xlabel=None, ylabel=None, xticks=[])

# 彻底移除Y轴刻度和标签
ax.set_yticks([])

for x in g.containers:
    currency_labels = [format_decimal(value) for value in x.datavalues]
    ax.bar_label(x, rotation=0, padding=5, fmt='%.0f', fontsize=9, labels=currency_labels)
    
# 移除所有边框
sns.despine(ax=ax, left=True, bottom=True, top=True, right=True)

# 关闭网格(按需添加)
ax.grid(False)

fig.tight_layout()
fig.savefig(saveloc, dpi=2000)

内容的提问来源于stack exchange,提问作者LucasBorges-Santos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:45:31