我正在尝试绘制一个没有边框的条形图。默认情况下,条形有黑色细边框。在Seaborn的开发版本(0.6)中,我可以通过linewidth
将kwargs(edgecolor
,pyplot.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')
答案 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(...)