从matplotlib中的自动缩放中排除行

时间:2011-03-25 19:36:31

标签: matplotlib

我在matplotlib中有一个有点复杂的绘图任务,它需要 - 我认为 - 一个排除某些绘制线的自动缩放()函数。

matplotlib中的内置autoscale_view()函数获取轴的所有bbox的并集,然后根据它进行缩放。我做了一个loose_autoscale_view,为它添加了一个边缘因子。但两者都根据轴上的所有点确定缩放比例。我不希望如此,因为我希望有一些观点可以生活在最低点。

我需要制作一个自动缩放功能,我可以在其中执行以下操作:

1)获取我想要的行并排除我不想要的行(我可以传入excluded_lines arg)。从轴获取线的功能是什么?我找不到了。

2)获取这些行的bbox并使用与autoscale_view()类似的方法。如何将bbox与线路相关联?

我的1& 2也可能完全偏离基础 - 只是建议我正在考虑的方法。

1 个答案:

答案 0 :(得分:1)

from matplotlib import pyplot as plt
plt.plot([1,2,3],[3,4,5])
plt.plot([2,3,4],[4,9,4])
ax = plt.gca()
l = ax.get_lines()[0]  # a line instance
p = l.get_path()
p.get_extents() # a bbox instance