Skip to content

Instantly share code, notes, and snippets.

@emiliom
Created September 30, 2013 17:46
Show Gist options
  • Save emiliom/6767450 to your computer and use it in GitHub Desktop.
Save emiliom/6767450 to your computer and use it in GitHub Desktop.
#IOOS #AnimalAcousticTelem IOOS Animal Acoustic Telemetry Data Project. ERDDAP Data Access Example 2. Example from Bob Branton. Examine animal characteristics for tagged animals from one tagging project (PSS2), by visualizing as a weight vs length density plot. 2013-9-30
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "AAT_ERDDAP_Example2"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": "IOOS Animal Acoustic Telemetry Data Project. ERDDAP Data Access Example 2"
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": "Example from Bob Branton. Examine animal characteristics for tagged animals from one tagging project (PSS2), by visualizing as a weight vs length density plot. 2013-9-30"
},
{
"cell_type": "code",
"collapsed": false,
"input": "# IPython session run with --pylab=inline; \"import matplotlib.pyplot as plt\" was run during startup\nimport numpy as np\nimport pandas as pd",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": "Read data from ERDDAP (one request) into a Pandas DataFrame, then post-process the data (join, clean up, enhance, etc)"
},
{
"cell_type": "code",
"collapsed": false,
"input": "# ERDDAP data request URL (decided in advance), selecting only a subset of two variables\n# Returns a 'csvp' table with a single header row that concatenates variable names and units\npss2tags_url = 'http://MYSERVER/erddap/tabledap/otnnepPSS2AnTags.csvp?length,weight'",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": "# read animal tag data into pandas dataframe, then rename columns to more 'robust' names (no spaces or parentheses)\nresppd = pd.read_csv(pss2tags_url)\nresppd.rename(columns={'length (meters)': 'length_m', 'weight (kg)': 'weight_kg'}, inplace=True)\nresppd",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<pre>\n&lt;class 'pandas.core.frame.DataFrame'&gt;\nInt64Index: 1427 entries, 0 to 1426\nData columns (total 2 columns):\nlength_m 1427 non-null values\nweight_kg 1427 non-null values\ndtypes: float64(2)\n</pre>",
"output_type": "pyout",
"prompt_number": 4,
"text": "<class 'pandas.core.frame.DataFrame'>\nInt64Index: 1427 entries, 0 to 1426\nData columns (total 2 columns):\nlength_m 1427 non-null values\nweight_kg 1427 non-null values\ndtypes: float64(2)"
}
],
"prompt_number": 4
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": "Plot results"
},
{
"cell_type": "code",
"collapsed": false,
"input": "# plot animal weight vs length, after converting units\nx=resppd.length_m * 100\ny=resppd.weight_kg * 1000\nfig1 = plt.figure()\nplt.plot(x,y,'.r')\nplt.xlabel('length (cm)')\nplt.ylabel('weight (gram)')",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 5,
"text": "<matplotlib.text.Text at 0x45908d0>"
},
{
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": "# Process data to generate 2D histogram\nnbins = 60\nH, xedges, yedges = np.histogram2d(x,y,bins=nbins)\n# H needs to be rotated and flipped\nH = np.rot90(H)\nH = np.flipud(H)\n# Mask pixels with a value of zero\nHmasked = np.ma.masked_where(H==0,H)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": "# Plot 2D histogram using pcolor\n# This plot is similar to the previous one (eg, same x & y axes), but much more informative\nfig2 = plt.figure()\nplt.pcolormesh(xedges,yedges,Hmasked)\nplt.xlabel('length (cm)')\nplt.ylabel('weight (gram)')\ncbar = plt.colorbar()\ncbar.ax.set_ylabel('Counts')",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 7,
"text": "<matplotlib.text.Text at 0x4977550>"
},
{
"output_type": "display_data",
"png": "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\nU/cI/bpDgQAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 7
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment