python - 在 matplotlib 中设置轴限制,但在其中自动缩放

标签 python matplotlib

是否可以在 matplotlib 中设置轴的最大值和最小值,然后在值远小于这些限制时自动缩放?

例如,我希望将百分比变化图表限制在 -100 和 100 之间,但我的许多绘图将在 -5 和 5 之间。当我使用 ax.set_ylim(-100, 100) 时,这个图很不清晰。

我想我可以使用类似 ax.set_ylim(max((-100, data-n)), min((100, data+n))) 的东西,但是有没有更内置的方法来实现这一点?

最佳答案

如果你想删除极端异常值,你可以使用 numpy quantile函数查找数据的前 0.001 % 和最后 99.999 %。

near_min = np.quantile(in_data, 0.0001)
near_max = np.quantile(in_data, 0.9999)
ax.set_ylim(near_min, near_max)

您需要根据删除的数据量调整分位数。您可能想要包含一些测试来检验near_min 和true min 之间的差异是否显着?

关于python - 在 matplotlib 中设置轴限制,但在其中自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54520064/

相关文章:

集成在 GTK3/PyGObject 中的 Python 网络/tcp 包

python - Matplotlib 半对数图 : minor tick marks are gone when range is large

python - 使用 Python 显示 3D 散点图中点旁边的坐标

python - matplotlib 中的背靠背直方图

python - 按键值的顺序绘制 python dict

python - 如何编辑已有的规则?

python - 添加 "search"同时保持分页和排序?

python - 制作一个 python 图形用户界面

python - 创建滚动总和列,一旦达到阈值就会重置

python - 如何突出情节中的周末?