我有一个字典形式的数据,我转换为pandas,我试图封装超出68和72范围的绘图数据。最终我试图旋转框污点的标题90度,也排除异常数据,如果可能的话。在我现实世界场景下面的这个片段中,它不可能读到列标题,如果只有少数异常值超出范围68&,则也不必显示方框图。 72.非常感谢任何提示...
我会编写一些模仿我的真实世界应用程序的代码。
df = pd.DataFrame(dict(a=[71.5,72.8,79.3],b=[70.2,73.3,74.9],c=[63.1,64.9,65.9],d=[70.1,70.9,70.9]))
太热了:
TooHot = df.apply(lambda x: not (x > 72).any())
print('These zones are too warm')
df[TooHot[~TooHot].index].boxplot()
plt.show()
太酷了:
TooCool = df.apply(lambda x: not (x < 68).any())
print('These zones are too cool')
df[TooCool[~TooCool].index].boxplot()
plt.show()
答案 0 :(得分:1)
showfliers=False
中的关键字参数.boxplot()
将删除在绘图上显示的异常值。
使用vert=False
会使箱图水平(我认为你问的是什么?
关于matplotlib boxplots的文档是一个很好的起点:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.boxplot.html