我正在尝试使用boxplot
中的stripplot
和seaborn
创建带有抖动的箱线图。不幸的是,我的数据有一些异常值,因此我决定将它们排除在最终绘图之外。
对于箱线图,很容易使用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()
在绘制之前仅滤除原始数据帧中的离群值会更容易吗?
答案 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()