2017-04-16 73 views
4

我想用Python的Seaborn軟件包繪製多個黑白盒裝圖。默認情況下,圖是使用調色板。我想用純黑色的輪廓繪製它們。我能想出的最好的是:Seaborn中的黑白盒裝圖

# figure styles 
sns.set_style('white') 
sns.set_context('paper', font_scale=2) 
plt.figure(figsize=(3, 5)) 
sns.set_style('ticks', {'axes.edgecolor': '0', 
         'xtick.color': '0', 
         'ytick.color': '0'}) 

ax = sns.boxplot(x="test1", y="test2", data=dataset, color='white', width=.5) 
sns.despine(offset=5, trim=True) 
sns.plt.show() 

將會產生類似:

enter image description here

我希望來框爲黑色,而不在調色板任何填充或變更。

回答

4

你必須設置每個箱子的edgecolor和半年線(須和中位數)與每一個框關聯使用set_color

ax = sns.boxplot(x="day", y="total_bill", data=tips, color='white', width=.5, fliersize=0) 

# iterate over boxes 
for i,box in enumerate(ax.artists): 
    box.set_edgecolor('black') 
    box.set_facecolor('white') 

    # iterate over whiskers and median lines 
    for j in range(6*i,6*(i+1)): 
     ax.lines[j].set_color('black') 

如果採用過去的週期對所有藝術家和線條那麼它可能是根據boxplot

plt.setp(ax.artists, edgecolor = 'k', facecolor='w') 
plt.setp(ax.lines, color='k') 

其中ax:減少到。

enter image description here

如果您還需要設置傳單顏色遵循這一answer

+1

如果你想得到真正的極簡主義,你可以做'showbox = False'。 – mwaskom