忽略带状图的异常值

时间:2018-12-05 16:19:49

标签: matplotlib visualization seaborn

我正在尝试使用boxplot中的stripplotseaborn创建带有抖动的箱线图。不幸的是,我的数据有一些异常值,因此我决定将它们排除在最终绘图之外。

对于箱线图,很容易使用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()

enter image description here

在绘制之前仅滤除原始数据帧中的离群值会更容易吗?

1 个答案:

答案 0 :(得分: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()