From ebf5f749a970b8df09b416f2ba4afd0fa749c19a Mon Sep 17 00:00:00 2001 From: 1cda4be30895c9886fda013d21530393 <1cda4be30895c9886fda013d21530393@app-learninglab.inria.fr> Date: Wed, 25 Nov 2020 19:40:35 +0000 Subject: [PATCH] firstcommit --- module3/exo3/exercice.ipynb | 180 +++++++++++++++++++++++++++++++++++- module3/exo3/test.png | Bin 0 -> 22451 bytes 2 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 module3/exo3/test.png diff --git a/module3/exo3/exercice.ipynb b/module3/exo3/exercice.ipynb index 0bbbe37..66fdc23 100644 --- a/module3/exo3/exercice.ipynb +++ b/module3/exo3/exercice.ipynb @@ -1,5 +1,180 @@ { - "cells": [], + "cells": [ + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/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", + "
Unnamed: 0YearWheatWages
01156541.05.00
12157045.05.05
23157542.05.08
34158049.05.12
45158541.55.15
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 Year Wheat Wages\n", + "0 1 1565 41.0 5.00\n", + "1 2 1570 45.0 5.05\n", + "2 3 1575 42.0 5.08\n", + "3 4 1580 49.0 5.12\n", + "4 5 1585 41.5 5.15" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from IPython.core.display import display, HTML\n", + "display(HTML(\"\"))\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "plt.rcParams[\"figure.figsize\"] = (20,10)\n", + "data = pd.read_csv('https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/HistData/Wheat.csv')\n", + "data = data.dropna()\n", + "data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'NoneType' object has no attribute 'update'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0max2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0max1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtwinx\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0max1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxax\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myaxwages\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'g-'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0max1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_ylim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m120\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0max2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxax\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myaxwheat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'b-'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# ax1 plotted twice in order to have same scale for both wages and wheat\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1865\u001b[0m \u001b[0;34m\"the Matplotlib list!)\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlabel_namer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1866\u001b[0m RuntimeWarning, stacklevel=2)\n\u001b[0;32m-> 1867\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1869\u001b[0m inner.__doc__ = _add_data_doc(inner.__doc__,\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mbar\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2224\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxaxis\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2225\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert_xunits\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2226\u001b[0;31m \u001b[0mwidth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert_xunits\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwidth\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2227\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mxerr\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2228\u001b[0m \u001b[0mxerr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert_xunits\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mconvert_xunits\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 189\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0max\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxaxis\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 191\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxaxis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert_units\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 192\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mconvert_yunits\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/axis.py\u001b[0m in \u001b[0;36mconvert_units\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 1524\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1525\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1526\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconverter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconvert\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munits\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1527\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1528\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/conda/lib/python3.6/site-packages/matplotlib/category.py\u001b[0m in \u001b[0;36mconvert\u001b[0;34m(value, unit, axis)\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;31m# force an update so it also does type checking\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m \u001b[0munit\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 66\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m str2idx = np.vectorize(unit._mapping.__getitem__,\n", + "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'update'" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "xax = data['Year']\n", + "yaxwages = data['Wages']\n", + "yaxwheat = data['Wheat']\n", + "\n", + "fig,ax1 = plt.subplots()\n", + "# ax1.plot(xax, yaxwheat)\n", + "\n", + "\n", + "ax2 = ax1.twinx()\n", + "ax1.plot(xax, yaxwages, 'g-')\n", + "ax1.set_ylim([0,120])\n", + "ax2.plot(xax, yaxwheat, 'b-') # ax1 plotted twice in order to have same scale for both wages and wheat\n", + "ax2.set_ylim([0,120])\n", + "\n", + "ax1.set(xlabel='Year', title='The Price of the Quarter of Wheat & \\nWages of Labor by the Week')\n", + "\n", + "ax1.set_ylabel('Y1 data', color='g')\n", + "ax2.set_ylabel('Y2 data', color='b')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +191,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - diff --git a/module3/exo3/test.png b/module3/exo3/test.png new file mode 100644 index 0000000000000000000000000000000000000000..ae494e898d7c555d5344d76c2f0f72f61daec19e GIT binary patch literal 22451 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 literal 0 HcmV?d00001 -- 2.18.1