箱形图是由四分位数和中位数决定的,如果这些数据已知,能不能直接在matplotlib把箱形图绘制出来?
现在matplotlib里的boxplot是需要输入整个原始数据的,而不能直接用四分位数和中位数。
1个回答
直接用plt.boxplot是不行的,可以用Axes.bxp
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
boxes = [
    {
        'label':'Male height',
        'whislo': 162.6, #底部横线位置
        'q1': 170.2, #第一四分位数
        'med': 175.7, #中位数
        'q3': 180.4, #第三四分位数
        'whishi': 186.8, #顶部横线位置   
        'fliers': [160, 205] #outlier异常点的数值
    },
    {
        'label':'Female height',
        'whislo': 156.6, #底部横线位置
        'q1': 160.2, #第一四分位数
        'med': 163.7, #中位数
        'q3': 166.4, #第三四分位数
        'whishi': 171.8, #顶部横线位置   
        'fliers': [150, 151, 185] #outlier异常点的数值
    }
]
ax.bxp(boxes,showfliers=True)
ax.set_ylabel('cm')
plt.show()
    
  相关讨论
  随便看看