Skip to content

Instantly share code, notes, and snippets.

@thearn
Last active August 29, 2015 13:58
Show Gist options
  • Save thearn/9947606 to your computer and use it in GitHub Desktop.
Save thearn/9947606 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:5de9cadb391981def9784ca96c229dedb2d7fa8642f2c589dc518c07040774de"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.html.widgets import interact, interactive, fixed\n",
"from IPython.display import display, HTML \n",
"import requests\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"import datetime\n",
"import numpy as np\n",
"\n",
"planets = ['mars','earth','venus','mercury','sun']\n",
"planets = ','.join(planets)\n",
"now = datetime.datetime.now()\n",
"year,month,day = now.year, now.month, now.day\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def get_eph(year,month,day):\n",
" url = \"http://www.astro-phys.com/api/de406/states?date=%s-%s-%s&bodies=%s\" % (year,month,day, planets)\n",
" data = requests.get(url).json()\n",
" data = data['results']\n",
" return data\n",
"\n",
"def distances(data):\n",
" dists = {}\n",
" for planet in data:\n",
" dists[planet] = int(np.linalg.norm(np.array(data[\"earth\"]) - np.array(data[planet]), 2))\n",
" return dists\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def system(year, month, day):\n",
" fig = plt.figure()\n",
" ax = fig.add_subplot(111, projection='3d')\n",
" thisdate = str(datetime.date(year, month, day))\n",
" ax.set_title(thisdate)\n",
" data = get_eph(year, month, day)\n",
" table = '<h3>Distances from Earth on {0}:</h3><table>\\n'.format(thisdate)\n",
" dists = distances(data)\n",
" for planet in sorted(data):\n",
" x,y,z = data[planet][0]\n",
" ax.scatter(x, y, z)\n",
" ax.text(x,y,z, planet)\n",
" if planet != \"earth\":\n",
" table += '<tr><td>{0}</td><td>{1} km</td></tr>\\n'.format(planet, dists[planet])\n",
" display(HTML(table))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 53
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"w = interactive(system, year=(1980,2020,1), month=(1,12,1), day=(1,30,1))\n",
"display(w)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<h3>Distances from Earth on 2018-08-01:</h3><table>\n",
"<tr><td>mars</td><td>57594401 km</td></tr>\n",
"<tr><td>mercury</td><td>91316004 km</td></tr>\n",
"<tr><td>sun</td><td>151842302 km</td></tr>\n",
"<tr><td>venus</td><td>122447400 km</td></tr>\n"
],
"metadata": {},
"output_type": "display_data",
"text": [
"<IPython.core.display.HTML at 0x1064acd90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x106350050>"
]
}
],
"prompt_number": 54
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment