1. 程式人生 > >在一幅圖中為箱線圖設定不同顏色

在一幅圖中為箱線圖設定不同顏色

在一幅圖中有多個箱線圖,有時需要為分組為其設定不同顏色,下面是程式碼:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
np.random.seed(2)  #設定隨機種子
df = pd.DataFrame(np.random.rand(5,4),
columns=['A', 'B', 'C', 'D'])#先生成0-1之間的5*4維度資料,再裝入4列DataFrame中
# f=df.boxplot(sym='r*',patch_artist=True)
f=df.boxplot(patch_artist=True,return_type='dict')
color=['k', 'g', 'r', 'deepskyblue'] # 有多少box就對應設定多少顏色
for box,c in zip(f['boxes'], color):
    # 箱體邊框顏色
    box.set( color=c, linewidth=2)
    # 箱體內部填充顏色
    box.set( facecolor = c )
for whisker in f['whiskers']:
    whisker.set(color='r', linewidth=2)
for cap in f['caps']:
    cap.set(color='g', linewidth=3)
for median in f['medians']:
    median.set(color='DarkBlue', linewidth=3)
for flier in f['fliers']:
    flier.set(marker='o', color='y', alpha=0.5)
plt.show()

此篇在原文上稍作修改,原文傳送門:Python-matplotlib統計圖之箱線圖漫談