0


python-matplotlib-箱线图为不同的箱体设置不同颜色

箱线图怎么为不同的箱体设置不同颜色?

方法:

  1. f=df.boxplot(patch_artist=True,return_type='dict')# 这里共有四个box
  2. color=['k','g','r','deepskyblue']# 有多少box就对应设置多少颜色for box,c inzip(f['boxes'], color):# 箱体边框颜色
  3. box.set( color=c, linewidth=2)# 箱体内部填充颜色
  4. box.set( facecolor = c )

实战:

  1. %matplotlib notebook
  2. fig, ax = plt.subplots(1,6,figsize=(9.5,2.5))
  3. color=['r','g']
  4. labels =["epilepsy","no_epilepsy"]
  5. ax1 = plt.subplot(161)
  6. 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)
  7. plt.xticks([])
  8. plt.ylabel('z-score')
  9. plt.xlabel('A')for box,c inzip(f1['boxes'], color):# 箱体内部填充颜色
  10. box.set( facecolor = c )
  11. ax2 = plt.subplot(162)
  12. 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)
  13. plt.xticks([])
  14. plt.xlabel('B')for box,c inzip(f2['boxes'], color):# 箱体内部填充颜色
  15. box.set( facecolor = c )
  16. ax3 = plt.subplot(163)
  17. 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)
  18. plt.xticks([])
  19. plt.xlabel('C')for box,c inzip(f3['boxes'], color):# 箱体内部填充颜色
  20. box.set( facecolor = c )
  21. ax4 = plt.subplot(164)
  22. 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)
  23. plt.xticks([])
  24. plt.xlabel('D')for box,c inzip(f4['boxes'], color):# 箱体内部填充颜色
  25. box.set( facecolor = c )
  26. ax5 = plt.subplot(165)
  27. 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)
  28. plt.xticks([])
  29. plt.xlabel("E")for box,c inzip(f5['boxes'], color):# 箱体内部填充颜色
  30. box.set( facecolor = c )
  31. ax6 = plt.subplot(166)
  32. 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)
  33. plt.xticks([])
  34. plt.xlabel('F')for box,c inzip(f6['boxes'], color):# 箱体内部填充颜色
  35. box.set( facecolor = c )
  36. plt.tight_layout()
  37. plt.show()
  38. plt.savefig("./minist.jpg")

请添加图片描述


本文转载自: https://blog.csdn.net/qq_37006625/article/details/127908633
版权归原作者 Stig_Q 所有, 如有侵权,请联系我们删除。

“python-matplotlib-箱线图为不同的箱体设置不同颜色”的评论:

还没有评论