2015-05-25 77 views
1

我正在尝试绘制带无边框条形图的barplot。默认情况下,酒吧的黑色边框很薄。在Seaborn的开发版本(0.6)中,我可以通过seaborn.barplot()将kwargs(linewidth,0 edgecolor)传递给pyplot.bar(),但在当前版本(0.5.1)中,此功能似乎尚未可用。看看返回的AxesSubplot对象,我找不到将线宽设置为零或颜色完全透明的方法,虽然它有很多方法,所以我仍然希望有一种方法可以实现此目的。Seaborn:如何设置条形边框的线条宽度或颜色?

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

这将工作太:

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

经过多次尝试都没有成功,我在这里问了一个问题,很快我自己找到了解决方案。所以在这里,它是:绘制前,patch.linewidth参数可与seaborn.set_context()设置:

import seaborn as sns 

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