On Saturday 27 February 2010 07:39:59 David Arnold wrote:
> All,
>
> On: http://matplotlib.sourceforge.net/users/artists.html
>
> In the Axes Container section, you can see in what follows that I got some
> very different responses than what is shown on the page:
>
> In [1]: fig=figure()
>
> In [3]: ax=fig.add_subplot(111)
>
> In [4]: rect=matplotlib.patches.Rectangle((1,1),width=5,height=12)
>
> In [5]: print rect.get_axes()
> ------> print(rect.get_axes())
> None
>
> In [6]: print rect.get_transform()
> ------> print(rect.get_transform())
> BboxTransformTo(Bbox(array([[ 1., 1.],
> [ 6., 13.]])))
>
> In [7]: ax.add_patch(rect)
> Out[7]: <matplotlib.patches.Rectangle object at 0x2144db0>
>
> In [8]: print rect.get_axes()
> ------> print(rect.get_axes())
> Axes(0.125,0.1;0.775x0.8)
>
> In [9]: print rect.get_transform()
> ------> print(rect.get_transform())
> CompositeGenericTransform(BboxTransformTo(Bbox(array([[ 1., 1.],
> [ 6., 13.]]))),
> CompositeGenericTransform(TransformWrapper(BlendedAffine2D(IdentityTransfor
>m(),IdentityTransform())),
> CompositeAffine2D(BboxTransformFrom(TransformedBbox(Bbox(array([[ 0., 0.],
> [ 1., 1.]])),
> TransformWrapper(BlendedAffine2D(IdentityTransform(),IdentityTransform())))
>), BboxTransformTo(TransformedBbox(Bbox(array([[ 0.125, 0.1 ], [ 0.9 ,
> 0.9 ]])), BboxTransformTo(TransformedBbox(Bbox(array([[ 0., 0.], [ 8.,
> 6.]])), Affine2D(array([[ 80., 0., 0.],
> [ 0., 80., 0.],
> [ 0., 0., 1.]])))))))))
>
> In [10]: print ax.transData
> -------> print(ax.transData)
> CompositeGenericTransform(TransformWrapper(BlendedAffine2D(IdentityTransfor
>m(),IdentityTransform())),
> CompositeAffine2D(BboxTransformFrom(TransformedBbox(Bbox(array([[ 0., 0.],
> [ 1., 1.]])),
> TransformWrapper(BlendedAffine2D(IdentityTransform(),IdentityTransform())))
>), BboxTransformTo(TransformedBbox(Bbox(array([[ 0.125, 0.1 ], [ 0.9 ,
> 0.9 ]])), BboxTransformTo(TransformedBbox(Bbox(array([[ 0., 0.], [ 8.,
> 6.]])), Affine2D(array([[ 80., 0., 0.],
> [ 0., 80., 0.],
> [ 0., 0., 1.]]))))))))
>
> In [11]: print ax.get_xlim()
> -------> print(ax.get_xlim())
> (0.0, 1.0)
>
> In [12]: print ax.dataLim.get_bounds()
> -------> print(ax.dataLim.get_bounds())
> ---------------------------------------------------------------------------
> AttributeError Traceback (most recent call last)
>
> /Library/Frameworks/Python.framework/Versions/6.0.0/Examples/matplotlib-0.9
>9.1.1/event_handling/<ipython console> in <module>()
>
> AttributeError: 'Bbox' object has no attribute 'get_bounds'
>
> In [13]: ax.autoscale_view()
>
> In [14]: print ax.get_xlim()
> -------> print(ax.get_xlim())
> (1.0, 6.0)
>
> In [15]: ax.figure.canvas.draw()
>
> David.
Hi David,
The biggest difference occurs for
print ax.dataLim.get_bounds()
because this method has been replaced by the property
print ax.dataLim.bounds
as is mentioned in the API-changes, but didn't find his way into this
documentation.
I attached a patch with modified documentation and further replacements
of 'get_bounds' in current svn. Could any of the developers have a look at it
and commit these changes or should a post the patch at the patch-tracker?
Kind regards,
Matthias
|