箱线图怎么为不同的箱体设置不同颜色?
方法:
f=df.boxplot(patch_artist=True,return_type='dict')
# 这里共有四个box
color=['k', 'g', 'r', 'deepskyblue'] # 有多少box就对应设置多少颜色
for box,c in zip(f['boxes'], color):
# 箱体边框颜色
box.set( color=c, linewidth=2)
# 箱体内部填充颜色
box.set( facecolor = c )
实战:文章来源:https://www.toymoban.com/news/detail-730083.html
%matplotlib notebook
fig, ax = plt.subplots(1, 6,figsize=(9.5, 2.5))
color=['r','g']
labels = ["epilepsy","no_epilepsy"]
ax1 = plt.subplot(161)
f1 = ax1.boxplot(np.array([preprocessing.scale(np.mean(psd_e[:,:,:], axis=1)),preprocessing.scale(np.mean(psd_en[:,:,:], axis=1))])
,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.ylabel('z-score')
plt.xlabel('A')
for box,c in zip(f1['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
ax2 = plt.subplot(162)
f2 = ax2.boxplot(np.array([preprocessing.scale(np.mean(pywt_energy_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_energy_en[:,:,:], axis=1))])
,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('B')
for box,c in zip(f2['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
ax3 = plt.subplot(163)
f3 = ax3.boxplot(np.array([preprocessing.scale(np.mean(pywt_energyRate_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_energyRate_en[:,:,:], axis=1))])
,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('C')
for box,c in zip(f3['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
ax4 = plt.subplot(164)
f4 = ax4.boxplot(np.array([preprocessing.scale(np.mean(pywt_entropy_e[:,:,:], axis=1)),preprocessing.scale(np.mean(pywt_entropy_en[:,:,:], axis=1))])
,showfliers=False,patch_artist=True)
plt.xticks([])
plt.xlabel('D')
for box,c in zip(f4['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
ax5 = plt.subplot(165)
f5 = ax5.boxplot(np.array([preprocessing.scale(np.mean(peEntropy_e[:,:,0], axis=1)),preprocessing.scale(np.mean(peEntropy_en[:,:,0], axis=1))])
,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.xlabel("E")
for box,c in zip(f5['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
ax6 = plt.subplot(166)
f6 = ax6.boxplot(np.array([preprocessing.scale(np.mean(shEntropy_e[:,:,0], axis=1)),preprocessing.scale(np.mean(shEntropy_en[:,:,0], axis=1))])
,showfliers=False,patch_artist=True,labels = labels)
plt.xticks([])
plt.xlabel('F')
for box,c in zip(f6['boxes'], color):
# 箱体内部填充颜色
box.set( facecolor = c )
plt.tight_layout()
plt.show()
plt.savefig("./minist.jpg")
文章来源地址https://www.toymoban.com/news/detail-730083.html
到了这里,关于python-matplotlib-箱线图为不同的箱体设置不同颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!