Seaborn:如何设置条形边框的线宽或颜色?

时间:2015-05-25 19:02:34

标签: python matplotlib plot seaborn

我正在尝试绘制一个没有边框的条形图。默认情况下,条形有黑色细边框。在Seaborn的开发版本(0.6)中,我可以通过linewidth将kwargs(edgecolorpyplot.bar())传递给seaborn.barplot(),但在当前版本(0.5.1)中这个功能似乎还没有。看看返回的AxesSubplot对象,我找不到将线宽设置为零的方法,或者将颜色设置为完全透明,虽然它有很多方法,所以我仍然希望有一种方法可以实现这一点。

import matplotlib.pyplot as plt
import seaborn as sns

fig, ax = plt.subplots()
ax = sns.barplot(data = data, x = 'var1', color = '#007b7f')
fig.tight_layout()
fig.savefig('fig.pdf')

2 个答案:

答案 0 :(得分:5)

这也可以:

fig, ax = plt.subplots()
ax = sns.barplot(data = data, x = 'var1', color = '#007b7f')
plt.setp(ax.patches, linewidth=0)

答案 1 :(得分:2)

经过多次尝试没有成功,我在这里提出了问题,很快我就找到了解决方案。所以这里是:在绘图之前,可以使用patch.linewidth设置seaborn.set_context()参数:

import seaborn as sns

sns.set_context(rc = {'patch.linewidth': 0.0})
ax = sns.barplot(...)