2015-05-25 110 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(...)