我有一个字典,该字典按每个用户ID的顺序存储以下值:
敏
下四分位数
中位数
上四分位
最高
在绘制箱线图时,我希望将字典中的最小值和最大值用于箱线图的分支中。目前,它将这些绘制为离群值,我希望将它们绘制为箱形图支腿的一部分。
我的代码:
for ID in Data:
#Min
Data1[ID].append(10)
#LQ
Data1[ID].append(20)
#Median
Data1[ID].append(30)
#UQ
Data1[ID].append(40)
#Max
Data1[ID].append(50)
#Plot
fig, ax = plt.subplots()
ax.boxplot(Data1.values())
最佳答案
腿称为晶须,您可以通过在boxplot调用中设置参数whis
来控制它们。在您的情况下,您可能希望将其设置为'range'
ax.boxplot(Data1.values(), whis='range')
如documentation中所述:
whis:浮点数,序列或字符串(默认= 1.5)
作为浮子,确定晶须到达第一和第三四分位数以外的范围。换句话说,在IQR是四分位间距(Q3-Q1)的情况下,上晶须将延伸到小于Q3 + whis * IQR的最后数据。类似地,下晶须将延伸到大于Q1的第一基准-晶须* IQR。除晶须外,数据被认为是离群值,并作为单个点绘制。将此值设置为不合理的高值,以强制晶须显示最小值和最大值。或者,将其设置为升序百分位数(例如[5,95]),以将晶须设置为数据的特定百分位数。最后,whis可以是字符串“ range”,以将晶须强制为数据的最小值和最大值。
请注意,您不是绘制实际数据的箱线图,而是绘制提供的摘要统计信息的箱线图。这通常是不同的。如果要使用汇总统计信息绘制原始数据的箱线图,请查看此example和matplotlib方法
bxp
。关于python - Matplotlib-箱线图的最大值和最小值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52722554/