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
Index: doc/users/artists.rst
===================================================================
--- doc/users/artists.rst	(revision 8171)
+++ doc/users/artists.rst	(working copy)
@@ -419,7 +419,7 @@
     # and notice that the ax.add_patch method has set the axes
     # instance
     In [267]: print rect.get_axes()
-    Subplot(49,81.25)
+    Axes(0.125,0.1;0.775x0.8)
 
     # and the transformation has been set too
     In [268]: print rect.get_transform()
@@ -434,7 +434,7 @@
     (0.0, 1.0)
 
     # but the data limits have been updated to encompass the rectangle
-    In [271]: print ax.dataLim.get_bounds()
+    In [271]: print ax.dataLim.bounds
     (1.0, 1.0, 5.0, 12.0)
 
     # we can manually invoke the auto-scaling machinery
Index: lib/matplotlib/finance.py
===================================================================
--- lib/matplotlib/finance.py	(revision 8171)
+++ lib/matplotlib/finance.py	(working copy)
@@ -597,8 +597,8 @@
     maxy = max([volume for d, open, close, high, low, volume in quotes])
     corners = (minpy, miny), (maxx, maxy)
     ax.update_datalim(corners)
-    #print 'datalim', ax.dataLim.get_bounds()
-    #print 'viewlim', ax.viewLim.get_bounds()
+    #print 'datalim', ax.dataLim.bounds
+    #print 'viewlim', ax.viewLim.bounds
 
     ax.add_collection(barCollection)
     ax.autoscale_view()
Index: lib/matplotlib/patches.py
===================================================================
--- lib/matplotlib/patches.py	(revision 8171)
+++ lib/matplotlib/patches.py	(working copy)
@@ -1414,12 +1414,12 @@
     pad = props.pop('pad', 4)
     pad = renderer.points_to_pixels(pad)
     bbox = artist.get_window_extent(renderer)
-    l,b,w,h = bbox.bounds
-    l-=pad/2.
-    b-=pad/2.
-    w+=pad
-    h+=pad
-    r = Rectangle(xy=(l,b),
+    l, b, w, h = bbox.bounds
+    l -= pad/2.
+    b -= pad/2.
+    w += pad
+    h += pad
+    r = Rectangle(xy=(l, b),
                   width=w,
                   height=h,
                   fill=fill,
@@ -1438,8 +1438,8 @@
     to test whether the artist is returning the correct bbox.
     """
 
-    l,b,w,h = bbox.get_bounds()
-    r = Rectangle(xy=(l,b),
+    l, b, w, h = bbox.bounds
+    r = Rectangle(xy=(l, b),
                   width=w,
                   height=h,
                   edgecolor=color,
Index: lib/matplotlib/backends/backend_wxagg.py
===================================================================
--- lib/matplotlib/backends/backend_wxagg.py	(revision 8171)
+++ lib/matplotlib/backends/backend_wxagg.py	(working copy)
@@ -171,7 +171,7 @@
     """
     Convert the region of a wx.Image bounded by bbox to a wx.Bitmap.
     """
-    l, b, width, height = bbox.get_bounds()
+    l, b, width, height = bbox.bounds
     r = l + width
     t = b + height
 
@@ -238,7 +238,7 @@
 
     Note: agg must be a backend_agg.RendererAgg instance.
     """
-    l, b, width, height = bbox.get_bounds()
+    l, b, width, height = bbox.bounds
     r = l + width
     t = b + height
 
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to