Michael Brady wrote:
> When using Basemap with a Mercator projection, is there a simple way
> to tell the Axes to label the y-axis ticks in latitude degrees instead
> of native map coord meters?
>
> Here's the way I did it. I created my own Formatter:
>
>
> class MercYAxisFormatter( matplotlib.ticker.Formatter ):
> """The format function for Mercator projection Y-axis.
> Translates plot y in meters to latitude.
> """
>
> def __init__( self, baseMap ):
> self.baseMap = baseMap
>
> def __call__( self, y, pos=1 ):
> """Return the label for tick value y at position pos.
> """
>
> lon, lat = self.baseMap( 0.0, y, inverse=True )
> return "%.0f" % lat
>
>
> and added it like so:
>
> baseMap = Basemap( ... )
> ax.yaxis.set_major_formatter( MercYAxisFormatter( baseMap ) )
>
>
> This works just fine, but is there a simple one-liner in Basemap that
> I'm missing that does this?
>
> Thanks,
>
> Michael
>
Michael: No, you're not missing anything - the functionality of basemap
is rather basic at this point. Thanks for the tip though!
-Jeff
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/CDC R/CDC1 Email : Jef...@no...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
|