""" SDSS Imaging ============ This example shows how to load the magnitude data from the SDSS imaging catalog, and plot colors and magnitudes of the stars and galaxies. """ # Author: Jake VanderPlas # License: BSD # The figure is an example from astroML: see http://astroML.github.com import numpy as np from matplotlib import pyplot as plt from astroML.datasets import fetch_imaging_sample #------------------------------------------------------------ # Get the star/galaxy data data = fetch_imaging_sample() objtype = data['type'] stars = data[objtype == 6][:5000] galaxies = data[objtype == 3][:5000] #------------------------------------------------------------ # Plot the stars and galaxies plot_kwargs = dict(color='k', linestyle='none', marker='.', markersize=1) fig = plt.figure() ax1 = fig.add_subplot(221) ax1.plot(galaxies['gRaw'] - galaxies['rRaw'], galaxies['rRaw'], **plot_kwargs) ax2 = fig.add_subplot(223, sharex=ax1) ax2.plot(galaxies['gRaw'] - galaxies['rRaw'], galaxies['rRaw'] - galaxies['iRaw'], **plot_kwargs) ax3 = fig.add_subplot(222, sharey=ax1) ax3.plot(stars['gRaw'] - stars['rRaw'], stars['rRaw'], **plot_kwargs) ax4 = fig.add_subplot(224, sharex=ax3, sharey=ax2) ax4.plot(stars['gRaw'] - stars['rRaw'], stars['rRaw'] - stars['iRaw'], **plot_kwargs) # set labels and titles ax1.set_ylabel('$r$') ax2.set_ylabel('$r-i$') ax2.set_xlabel('$g-r$') ax4.set_xlabel('$g-r$') ax1.set_title('Galaxies') ax3.set_title('Stars') # set axis limits ax2.set_xlim(-0.5, 3) ax3.set_ylim(22.5, 14) ax4.set_xlim(-0.5, 3) ax4.set_ylim(-1, 2) # adjust tick spacings on all axes for ax in (ax1, ax2, ax3, ax4): ax.xaxis.set_major_locator(plt.MultipleLocator(1)) ax.yaxis.set_major_locator(plt.MultipleLocator(1)) plt.show()