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

问题描述 投票:1回答:3

是否有可能设置matplotlib轴的最大值和最小值,但随后自动缩放当值比这些范围小很多?

例如,我想百分比变化的曲线图-100和100之间的限制,但我的很多情节会之间,也就是说,-5和5当我使用ax.set_ylim(-100, 100),这个图是非常不清楚。

我想我可以使用类似ax.set_ylim(max((-100, data-n)), min((100, data+n))),但有一个更内置的方式来实现这一目标?

python matplotlib
3个回答
1
投票

作为ImportanceOfBeingErnest pointed out,有此功能的支持。最后我只是用我原来的想法,但其比例由最大和最小的值给自动缩放的印象。

ax.set_ylim(max((-100, data_min+data_min*0.1)), min((100, data_max+data_max*0.1)))

当我的情况是真实的

data_min <= 0, data_max >= 0

0
投票

为什么不直接设置基于范围的数据的每一次情节更新轴限制?

ax.set_ylim(min(data), max(data))

或检查的数据的范围是低于某一阈值,然后设置轴限制。

if min(abs(data)) < thresh:
    ax.set_ylim(min(data), max(data))

0
投票

如果你想放弃极端值,你可以使用numpy的quantile功能找到说的数据和最后的99.999%的第一0.001%。

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和真实分钟之间的差异是否显著一些测试?

© www.soinside.com 2019 - 2024. All rights reserved.