Artist tutorial different response

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(IdentityTransform(),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(IdentityTransform(),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.99.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

final_replace_get_bounds.patch (2.92 KB)

···

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.

The patch looks good -- could I trouble you to make a patch against
the maintenance branch, which I can then merge into the trunk

http://matplotlib.sourceforge.net/devel/coding_guide.html#svn-checkouts

Thanks!
JDH

···

On Wed, Mar 3, 2010 at 9:56 AM, Matthias Michler <MatthiasMichler@...361...> wrote:

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?

Hi John,

I'm sorry. I didn't do this before and propably I won't manage it today.

Which of the maintance branches do you mean?
v0_91_maint/
v0_98_5_maint/
v0_99_maint/
or something completely different?

By the way I think the link on "devel/coding_guide.html" to get "svnmerge.py"
seems to be broken:
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.py
and in the attached patch "doc_devel_coding_guide.patch" I replaced it by:
http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svnmerge/svnmerge.py

Kind regards,
Matthias

doc_devel_coding_guide.patch (566 Bytes)

···

On Wednesday 03 March 2010 17:02:58 John Hunter wrote:

On Wed, Mar 3, 2010 at 9:56 AM, Matthias Michler > > <MatthiasMichler@...361...> wrote:
> 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?

The patch looks good -- could I trouble you to make a patch against
the maintenance branch, which I can then merge into the trunk

http://matplotlib.sourceforge.net/devel/coding_guide.html#svn-checkouts

Thanks!
JDH

> 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?

The patch looks good -- could I trouble you to make a patch against
the maintenance branch, which I can then merge into the trunk

http://matplotlib.sourceforge.net/devel/coding_guide.html#svn-checkouts

Thanks!
JDH

Hi John,

I'm sorry. I didn't do this before and propably I won't manage it today.

No need to apologize -- I appreciate you taking the time to make the
patch. Since this bug affects the branch and the trunk, I'd like to
see if fixed in both places since we plan to do a release of the
maintenance branch first and then the trunk. The easiest way to do
this in our workflow is to fix the branch and merge to the trunk.

Which of the maintance branches do you mean?
v0_91_maint/
v0_98_5_maint/
v0_99_maint/
or something completely different?

v0_99_maint is the current maintenance branch/

By the way I think the link on "devel/coding_guide.html" to get "svnmerge.py"
seems to be broken:
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.py
and in the attached patch "doc_devel_coding_guide.patch" I replaced it by:
http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svnmerge/svnmerge.py

OK, thanks, I'll try and apply this.

JDH

···

On Wed, Mar 3, 2010 at 10:25 AM, Matthias Michler <MatthiasMichler@...361...> wrote:

On Wednesday 03 March 2010 17:02:58 John Hunter wrote:

On Wed, Mar 3, 2010 at 9:56 AM, Matthias Michler >> >> <MatthiasMichler@...361...> wrote:

>> > 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?
>>
>> The patch looks good -- could I trouble you to make a patch against
>> the maintenance branch, which I can then merge into the trunk
>>
>> http://matplotlib.sourceforge.net/devel/coding_guide.html#svn-checkouts
>>
>> Thanks!
>> JDH
>
> Hi John,
>
> I'm sorry. I didn't do this before and propably I won't manage it today.

No need to apologize -- I appreciate you taking the time to make the
patch. Since this bug affects the branch and the trunk, I'd like to
see if fixed in both places since we plan to do a release of the
maintenance branch first and then the trunk. The easiest way to do
this in our workflow is to fix the branch and merge to the trunk.

Hi John,

no problem ...

> Which of the maintance branches do you mean?
> v0_91_maint/
> v0_98_5_maint/
> v0_99_maint/
> or something completely different?

v0_99_maint is the current maintenance branch/

I checked out

and included my changes of trunk as you can see in the attached patch.

Furthermore I replaced a (minor) typo in
lib/matplotlib/patches.py:
- self.legnthA*scaleA)
+ self.lengthA*scaleA)

Does this patch fulfill your needs?

Kind regards,
Matthias

final_replace_get_bounds_v0_99_maint.patch (3.39 KB)

···

On Wednesday 03 March 2010 17:30:52 John Hunter wrote:

On Wed, Mar 3, 2010 at 10:25 AM, Matthias Michler > > <MatthiasMichler@...361...> wrote:
> On Wednesday 03 March 2010 17:02:58 John Hunter wrote:
>> On Wed, Mar 3, 2010 at 9:56 AM, Matthias Michler > >> > >> <MatthiasMichler@...361...> wrote:

Yep. For some reason the artists.rst part was rejected even though I
couldn't figure out why. I just manually applied that portion. I am
trying to rebuild the site docs now, so I will ping you when this is
complete and uploaded.

Thanks for taking the trouble to redo this on the branch!

JDH

···

On Wed, Mar 3, 2010 at 10:45 AM, Matthias Michler <MatthiasMichler@...361...> wrote:

v0_99_maint is the current maintenance branch/

I checked out
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_99_maint/
and included my changes of trunk as you can see in the attached patch.

Furthermore I replaced a (minor) typo in
lib/matplotlib/patches.py:
- self.legnthA*scaleA)
+ self.lengthA*scaleA)

Does this patch fulfill your needs?