箱形图在框图中的框

时间:2015-02-26 10:41:16

标签: python matplotlib boxplot

我想做一些事情(使用matplotlib): enter image description here

(来自Colorfill boxplot in R-cran with lines, dots, or similar

我看到有关孵化(ing)的一些信息?但我真的无法对如何使用它做出正面或反面。

此外,我发现自己想知道如何更改参数,例如boxprop dict的可能属性 - 在plt.boxplot(...,boxprops = boxpropsdict)中使用。是否可以只列出所有可能的属性?

1 个答案:

答案 0 :(得分:12)

重要的方面是在调用patch_artist=True时设置boxplot

import numpy as np
import matplotlib.pyplot as plt

# fake up some data
spread= np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low), 0)

# basic plot
bp = plt.boxplot(data, patch_artist=True)

for box in bp['boxes']:
    # change outline color
    box.set(color='red', linewidth=2)
    # change fill color
    box.set(facecolor = 'green' )
    # change hatch
    box.set(hatch = '/')

plt.show()

基本情节示例取自boxplot demo。但是,这些示例都没有设置patch_artist=True。如果省略该语句,您将收到此错误:

  

AttributeError:' Line2D'对象没有属性' set_facecolor'

boxplot demo 2非常详细地展示了如何将矩形拟合到箱线图以获得着色。 This blog指向patch_artist的选项 有关舱口盖的更多建议,请参阅hatch demo。上面的例子产生了这个数字:

enter image description here