【问题标题】:Ignore outliers for stripplot忽略带状图的异常值
【发布时间】:2019-05-07 06:29:54
【问题描述】:

我正在尝试使用seaborn 中的boxplotstripplot 创建带有抖动的箱线图。不幸的是,我的数据有一些异常值,所以我决定将它们排除在最终图中。

对于箱线图,很容易使用showfliers=False 参数来忽略异常值。但是 stripplot 没有类似的论点。由于我的数据集包含具有极值的异常值,因此 y 轴过度拉伸,很难看到这些框。

示例代码:

import seaborn as sns
tips = sns.load_dataset("tips")
fig, ax = plt.subplots()
ax = sns.boxplot(x="day", y="total_bill", data=tips, showfliers=False)
ax = sns.stripplot(x="day", y="total_bill", data=tips)
fig.show()

在绘图之前过滤掉原始数据框中的异常值会更容易吗?

【问题讨论】:

  • 是的,这是一种方法,但在某些情况下分析异常值可能很有用。您实际上可以做的是改变情节的方向并获得更宽的情节而不是更高

标签: matplotlib visualization seaborn


【解决方案1】:

这应该可以解决问题: 您可以在创建箱线图后获取 y_axis 的限制,然后使用它来设置图形的 ylim。

import seaborn as sns
tips = sns.load_dataset("tips")
fig, ax = plt.subplots()
ax = sns.boxplot(x="day", y="total_bill", data=tips, showfliers=False)
ylims=ax.get_ylim()
ax = sns.stripplot(x="day", y="total_bill", data=tips)
ax.set(ylim=ylims)
fig.show()

【讨论】:

    猜你喜欢
    • 2012-08-06
    • 2019-06-03
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多