【问题标题】:Matplotlib boxplot without outliers没有异常值的 Matplotlib 箱线图
【发布时间】:2014-03-28 11:52:14
【问题描述】:

在 matplotlib (python) 中绘制箱线图时有什么方法可以隐藏异常值吗?

我正在使用最简单的方法来绘制它:

  from pylab import *
  boxplot([1,2,3,4,5,10])
  show()

这给了我以下情节:

(我无法发布图像,因为我没有足够的声誉,但基本上它是一个箱线图,Q1 在 y=1,Q3 在 y=5,离群值在 y=10)

我想删除 y=10 处的异常值,以便绘图仅显示从 Q1 到 Q3(在本例中为 1 到 5)。

【问题讨论】:

    标签: python matplotlib boxplot


    【解决方案1】:

    在当前版本的 matplotlib 中你可以这样做:

    boxplot([1,2,3,4,5,10], showfliers=False)
    

    boxplot([1,2,3,4,5,10], sym='')
    

    在旧版本中,只有第二种方法有效。

    boxplotdocs 确实提到了这一点,顺便说一句,“如果您不想显示传单,请输入一个空字符串 ('')。”不过,至少对我自己而言,“异常值”是更熟悉的词。

    【讨论】:

    • 绝对可以。我的错......没有仔细阅读文档(只是寻找异常值,而不是传单!)。
    • 没问题,如果你不知道的话,在文档中很难找到——我有选择其他方式的优势。 (我会编辑我的答案听起来不太明显,因为它不是特别清楚。)
    • @DidacBusquets 只想插一句,在 v1.4 中,您可以在调用 boxplot 时传递 showfliers=False 选项。
    • @Paul H:当我的答案变得可用时,请随时编辑我的答案。
    • 在 matplotlib 1.2 中,异常值被 boxplot(data,0,'') 隐藏。见 (matplotlib.org/1.2.1/api/pyplot_api.html)
    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2021-11-06
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多