8000 External transform api by pelson · Pull Request #1090 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

External transform api #1090

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 20, 2012
Merged

Conversation

pelson
Copy link
Member
@pelson pelson commented Aug 15, 2012

This PR adds an easy interface for matplotlib transform creation based on a custom object.

The syntax looks like:

class MyObject(object):
    def _as_mpl_transform(self, axes):
        return ... # a matplotlib transform instance

This interface is comprable to the _as_mpl_axes method to easily create axes from custom classes.

My primary usecase for both of these cases is to provide an interface which could do something like:

plate_carree = MyProjectionLibrary.PlateCarree()
robinson = MyProjectionLibrary.Robinson()

ax = plt.axes(projection=robinson)
plt.plot(lons, lats, transform=plate_carree)

@WeatherGod
Copy link
Member

Could this be useful for basemap? @jswhit, this PR might be of interest to you.

@@ -233,6 +234,8 @@ def get_transform(self):
"""
if self._transform is None:
self._transform = IdentityTransform()
elif not isinstance(self._transform, Transform) and hasattr(self._transform, '_as_mpl_transform'):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per PEP8, please keep lines under 80 chars long.

@pelson
Copy link
Member Author
pelson commented Aug 20, 2012

Seems like there isn't much complaint about this PR. Anyone willing to merge?

efiring added a commit that referenced this pull request Aug 20, 2012
@efiring efiring merged commit c0ee100 into matplotlib:master Aug 20, 2012
@efiring
Copy link
Member
efiring commented Aug 20, 2012

On 2012/08/19 9:34 PM, Phil Elson wrote:

Seems like there isn't much complaint about this PR. Anyone willing to
merge?
Done.

@@ -3,7 +3,8 @@
import matplotlib
import matplotlib.cbook as cbook
from matplotlib import docstring, rcParams
from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath
from transforms import Bbox, IdentityTransform, TransformedBbox, \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For later cleanup, at leisure: use parentheses instead of backslash; I'm pretty sure this is supported for 2.6 and later.

@@ -223,7 +224,7 @@ def set_transform(self, t):
ACCEPTS: :class:`~matplotlib.transforms.Transform` instance
"""
self._transform = t
self._transformSet = True
self._transformSet = t is not None
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turns out this is bad. Reverted in #1176 (along with a suitable test).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0