{ "metadata": { "name": "", "signature": "sha256:eb376b5a1753b64104d664bcda172ec1a0093352fb4713d57af9d7a82bc9d42b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Making A Matplotlib Scatterplot From A Pandas Dataframe\n", "\n", "- **Author:** [Chris Albon](http://www.chrisalbon.com/), [@ChrisAlbon](https://twitter.com/chrisalbon)\n", "- **Date:** -\n", "- **Repo:** [Python 3 code snippets for data science](https://github.com/chrisalbon/code_py)\n", "- **Note:** Based on: [StackOverflow](http://stackoverflow.com/questions/14300137/making-matplotlib-scatter-plots-from-dataframes-in-pythons-pandas)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### import modules" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create dataframe" ] }, { "cell_type": "code", "collapsed": false, "input": [ "raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], \n", " 'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], \n", " 'female': [0, 1, 1, 0, 1],\n", " 'age': [42, 52, 36, 24, 73], \n", " 'preTestScore': [4, 24, 31, 2, 3],\n", " 'postTestScore': [25, 94, 57, 62, 70]}\n", "df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'female', 'preTestScore', 'postTestScore'])\n", "df" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
first_namelast_nameagefemalepreTestScorepostTestScore
0 Jason Miller 42 0 4 25
1 Molly Jacobson 52 1 24 94
2 Tina Ali 36 1 31 57
3 Jake Milner 24 0 2 62
4 Amy Cooze 73 1 3 70
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " first_name last_name age female preTestScore postTestScore\n", "0 Jason Miller 42 0 4 25\n", "1 Molly Jacobson 52 1 24 94\n", "2 Tina Ali 36 1 31 57\n", "3 Jake Milner 24 0 2 62\n", "4 Amy Cooze 73 1 3 70" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scatterplot of preTestScore and postTestScore, with the size of each point determined by age" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.scatter(df.preTestScore, df.postTestScore\n", ", s=df.age)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scatterplot of preTestScore and postTestScore with the size = 300 and the color determined by sex" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.scatter(df.preTestScore, df.postTestScore, s=300, c='m')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n7dhm1AAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }