{ "metadata": { "name": "Stars" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "tau = 2.0 * pi" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "import ephem\n", "from ephem.stars import stars" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "len(stars)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "starlist = stars.values()" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "for star in starlist:\n", " star.compute('2012/1/10')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "degree = tau / 360.0\n", "hour = tau / 24.0\n", "\n", "ra_list = [star.ra / hour for star in starlist]\n", "dec_list = [star.dec / degree for star in starlist]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list)\n", "gca().invert_xaxis()" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list)\n", "axis([7.5, 3.5, -20, 20])" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "orion_axes = [7.5, 3.5, -20, 20]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "print starlist[0].name\n", "print starlist[0].mag\n", "print starlist[0]._spect" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "[star.mag for star in starlist[:5]]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "mag_array = np.array([ star.mag for star in starlist ])\n", "mag_array[:5]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "size_array = (5 - mag_array) ** 1.5 * 4\n", "size_array[:5]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list, size_array)\n", "axis(orion_axes)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "spectral_list = [star._spect for star in starlist]\n", "spectral_list[:10]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "from spectral_classification import build_color_chart\n", "color_chart = build_color_chart('starcolors.txt')" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "color_list = [color_chart[spectral_class + '(V)']\n", " for spectral_class in spectral_list]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list, size_array, color_list)\n", "axis(orion_axes)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "def pretty_hours(h, pos=None):\n", " if h % 1.0 == 0.0:\n", " return '{:.0g}h'.format(h)\n", " else:\n", " return '{:.2g}h'.format(h)\n", "\n", "def pretty_degrees(d, pos=None):\n", " return u'{}\u00b0'.format(d)\n", "\n", "print pretty_hours(3.5)\n", "print pretty_hours(5.0)\n", "print pretty_degrees(125)\n", "print pretty_degrees(360)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "from matplotlib.ticker import FuncFormatter\n", "\n", "hours_formatter = FuncFormatter(pretty_hours)\n", "degrees_formatter = FuncFormatter(pretty_degrees)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list, size_array, color_list)\n", "axis(orion_axes)\n", "gca().xaxis.set_major_formatter(hours_formatter)\n", "gca().yaxis.set_major_formatter(degrees_formatter)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "scatter(ra_list, dec_list, size_array, color_list)\n", "axis(orion_axes)\n", "gca().xaxis.set_major_formatter(hours_formatter)\n", "gca().yaxis.set_major_formatter(degrees_formatter)\n", "gca().xaxis.grid(True)\n", "gca().yaxis.grid(True)" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }