[AstroPy] APLpy color bar for markers
Thøger Emil Rivera-Thorsen
trive at astro.su.se
Mon Mar 7 16:08:48 EST 2016
My fault, a typo again (I hit ‘send’ too fast, it seems).
Let me try and get it right this time:
|import matplotlib.pyplot as plt import aplpy as ap f = plt.figure() fig
= ap.FITSFigure('/path/to/myimage.fits', figure=f) a = f.axes[0] # Or
alternatively, a = plt.gca() x, y = fig.world2pixel(ra, dec) points =
a.scatter(x, y, c=velocity, cmap='rainbow') f.colorbar(points, ax=a,
use_gridspec=True) |
I had forgotten to pass the |points| object to the |colorbar()| call.
Should work now - I hope.
Cheers!
On 03/07/2016 10:03 PM, Ke Wang wrote:
> Thank you Thøger!
> I got this error, which I don't understand. Any idea ?
>
> In [19]: f.colorbar(ax=a, use_gridspec=True)
> ---------------------------------------------------------------------------
> TypeError Traceback (most recent call
> last)
> <ipython-input-19-a7064055af74> in <module>()
> ----> 1 f.colorbar(ax=a, use_gridspec=True)
>
> TypeError: colorbar() takes at least 2 arguments (3 given)
>
>
> ---
> Dr. Ke Wang
> Associate, European Southern Observatory
> http://www.eso.org/~kwang <http://www.eso.org/%7Ekwang>
>
> On Mon, Mar 7, 2016 at 6:55 PM, Thøger Emil Rivera-Thorsen
> <trive at astro.su.se <mailto:trive at astro.su.se>> wrote:
>
> Sorry for flooding, but I just worked out a better solution:
>
> |import matplotlib.pyplot as plt import aplpy as ap f =
> plt.figure() fig = ap.FITSFigure('/path/to/myimage.fits',
> figure=f) a = fig.axes[0] # Or alternatively, a = plt.gca() x, y =
> fig.world2pixel(ra, dec) points = a.scatter(x, y, c=velocity,
> cmap='rainbow') f.colorbar(ax=a, use_gridspec=True) |
>
> This should give you what you want, and look a good deal nicer
> than my first suggestion.
> You can set the width etc. of the colorbar in the |f.colorbar()|
> call, just read the documentation (|f.colorbar?| in IPython).
>
> On 03/07/2016 06:38 PM, Thøger Emil Rivera-Thorsen wrote:
>
>> I would do this by tapping directly into the Matplotlib/pylab api
>> to do this:
>>
>> |import matplotlib.pyplot as plt import aplpy as ap fig =
>> ap.FITSFigure('myimage.fits') fig.show_grayscale() f, a =
>> plt.gcf(), plt.gca() x, y = fig.world2pixel(ra, dec) points =
>> a.scatter(ra, dec, c=velocity, cmap='rainbow') fig.colorbar(points) |
>>
>> The colorbar is not as neatly aligned as the APLPy function does,
>> but this can be refined and tweaked, if you read the matplotlib
>> docs (or you can just use it as-is).
>>
>> On 03/07/2016 04:52 PM, Ke Wang wrote:
>>
>>> Hi,
>>>
>>> This should be a simple question, but I just don't find an
>>> obvious solution:
>>>
>>> I use APLpy to plot a FITS image with nice wcs coordinates
>>> support, and overlay color coded markers:
>>>
>>> fig = aplpy.FITSFigure('image.fits')
>>> fig.show_colorscale(cmap='gray')
>>> fig.show_markers(ra, dec, c=velocity, cmap='rainbow')
>>> fig.add_colorbar()
>>>
>>> This will plot a gray color bar (for the image). But I want to
>>> display the rainbow (for markers). Any idea would be appreciated.
>>>
>>> Cheers,
>>> Ke
>>>
>>>
>>> _______________________________________________
>>> AstroPy mailing list
>>> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
>>> https://mail.scipy.org/mailman/listinfo/astropy
>>
>>
>>
>> _______________________________________________
>> AstroPy mailing list
>> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
>> https://mail.scipy.org/mailman/listinfo/astropy
>
>
>
>
>
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org
> https://mail.scipy.org/mailman/listinfo/astropy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/astropy/attachments/20160307/c984138e/attachment.html>
More information about the AstroPy
mailing list