Skip to content

Instantly share code, notes, and snippets.

@ka-pr
Last active October 23, 2019 12:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ka-pr/b097feebf1541d087e0166661f1d5332 to your computer and use it in GitHub Desktop.
Save ka-pr/b097feebf1541d087e0166661f1d5332 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Getting python for science up and running\n",
"Before we can use python we have to install python and get everything ready to go. This means:\n",
"\n",
"1. download and install anaconda\n",
"2. create a virtual environment with the correct requirements\n",
"3. test this virtual environment\n",
"\n",
"# **This step tests the environment.**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# if you are in the examples directory you need this code.\n",
"# if you are in the root directory please delete.\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.basemap import Basemap, cm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This should run and you should get no output. If you have an error it is most likely due to not setting up the environment correctly.\n",
"\n",
"If everything works lets make our first map!\n",
"\n",
"Normally, we don't condone copying and pasting code, but to get you started copy and paste the below cells into your newly created jupyter notebook.\n",
"\n",
"You can run them by clicking the run cell button that looks like >|, or by pressing `ctrl + enter`.\n",
"\n",
"The output should be like below. Please note the comments inline."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# this line is what is called \"ipython magic\". It allows\n",
"# inline matplotlib plots which makes for quick prototyping\n",
"# of maps, graphs, and other visuals.\n",
"%matplotlib inline\n",
"\n",
"# Pandas and numpy is our main data storage library and allows us to\n",
"# manipulate our data in many ways\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# matplotlib allows us to create plots\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# basemap allows us to create maps, cm allows manipulation of color maps\n",
"from mpl_toolkits.basemap import Basemap\n",
"from mpl_toolkits.basemap import cm"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(157495.6660682598, 2869708.0426286226, 'Beijing')"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Here we create the ax object. It is important to do this because \n",
"# it allows us many basic ways to manipulate the image through the \n",
"# Axes methods\n",
"fig, ax = plt.subplots(1, figsize=(8,8))\n",
"\n",
"# Here we create the Basemap object. It is important to NOT NOT NOT\n",
"# name this object \"map\". This is because map is a built-in function\n",
"# in python and you will no longer be able to use it if you call this\n",
"# object map.\n",
"m = Basemap(projection='merc',\n",
" llcrnrlat=17.5\n",
" , urcrnrlat=51.5\n",
" , llcrnrlon=115.0\n",
" , urcrnrlon=158.0\n",
" , resolution='i', area_thresh=10000\n",
" , ax=ax)\n",
"\n",
"# Here we draw some features on the map.\n",
"m.drawcoastlines()\n",
"m.drawstates()\n",
"m.drawcountries()\n",
"m.fillcontinents(color='gray', lake_color='white', zorder=0)\n",
"m.drawmapboundary(fill_color='red')\n",
"# m.etopo()\n",
"\n",
"# This allows us to set a title for the map. We can use many methods\n",
"# from the ax object to produce labels, annotations, etc.\n",
"ax.set_title('My First Map', fontsize=20)\n",
"\n",
"# For this toy example we will just plot the locations of two cities:\n",
"# Tokyo and Taipei. To do this first we need to know the longitude\n",
"# and latitude of these cities.\n",
"tokyo = [139.6917, 35.6895]\n",
"\n",
"# Now we convert the longitude and latitude of Tokyo into the cartesian\n",
"# coordinates of the plot. This is important and if you don't do this\n",
"# you will not plot correctly.\n",
"x, y = m(tokyo[0], tokyo[1])\n",
"\n",
"m.plot(x, y, '*', color='red', markersize=15)\n",
"\n",
"# Note again, the power of the Axes object.\n",
"ax.annotate('Tokyo', xy=(x+1000, y), color='green', fontsize=40)\n",
"\n",
"\n",
"# We repeat what we did for Tokyo for Taipei\n",
"taipei = [121.5654, 25.0330]\n",
"x, y = m(taipei[0], taipei[1])\n",
"\n",
"m.plot(x, y, '*', color='yellow', markersize=15)\n",
"ax.annotate('Taipei', xy=(x+1000, y), color='yellow', fontsize=40)\n",
"\n",
"# We repeat what we did for Tokyo for Taipei\n",
"beijing = [116.4074, 39.9042]\n",
"x, y = m(beijing[0], beijing[1])\n",
"\n",
"m.plot(x, y, '*', color='blue', markersize=15)\n",
"ax.annotate('Beijing', xy=(x+1000, y), color='black', fontsize=40)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And now you are done! Next we will spend some time learning about python data types and manipulations."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment