是否可以在 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/