From 7afb40e3479a18ca4f7c98cece370ae8eb630a78 Mon Sep 17 00:00:00 2001 From: Koushik R Kirugulige Date: Tue, 20 Oct 2020 13:35:57 +0530 Subject: [PATCH] the line plot graph for predictions --- .../538 Laliga Predictions Graph.ipynb | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 538 LaLigaPredictions/538 Laliga Predictions Graph.ipynb diff --git a/538 LaLigaPredictions/538 Laliga Predictions Graph.ipynb b/538 LaLigaPredictions/538 Laliga Predictions Graph.ipynb new file mode 100644 index 0000000..3e75f25 --- /dev/null +++ b/538 LaLigaPredictions/538 Laliga Predictions Graph.ipynb @@ -0,0 +1,202 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "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", + "
teamWin League
0Alavés[1, 1]
1Athletic Bilbao[1, 1]
2Atlético Madrid[12, 17]
3Barcelona[44, 43]
4Celta Vigo[1, 1]
\n", + "
" + ], + "text/plain": [ + " team Win League\n", + "0 Alavés [1, 1]\n", + "1 Athletic Bilbao [1, 1]\n", + "2 Atlético Madrid [12, 17]\n", + "3 Barcelona [44, 43]\n", + "4 Celta Vigo [1, 1]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('la liga.csv',dtype={'team':'str','Win League':'str'})\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from ast import literal_eval\n", + "df['Win League'] = df['Win League'].apply(literal_eval)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# get the latest prob value\n", + "array_length = len(list(df.iloc[0]['Win League'])) #len of all lists should be same\n", + "def get_latest_prob(row):\n", + " row['latest_prob'] = int(row['Win League'][array_length -1])\n", + " return row\n", + "\n", + "df = df.apply(get_latest_prob,axis=1)\n", + "df =df.sort_values(by=['latest_prob'],ascending = False)[:5].copy()\n", + "#display(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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fRZ/841CkIiISBVREKpBDBi44ooruOKKK8p9fsuWLbz3/nvneFYiIiIXroAGcQ0mVPckxMnusBNeO5yg4CCCgoIwBgSQmZnJ1q1bmTZ9Gq+++topP/JBREREKk8dIREREfFb1X+zGREREZFqoiAkIiIifktBSERERPyWgpCIiIj4LQUhERER8VsXZBB65623q3sKIiIich64IINQREREdU9BREREzgMXZBASERERqQwFIREREfFbCkIiIiLitxSERERExG8pCImIiIjfUhASERERv6UgJCIiIn5LQUhERET8loKQiIiI+C0FIREREfFbCkIiIiLitxSERERExG8pCImIiIjfUhASERERv6UgJCIiIn5LQUhERET8loKQiIiI+C0FIREREfFbCkIiIiLitxSERERExG8FVvcERERE5MwkrV3Hrl27MBgMFNvtvPLqK2zevNln4yUmJjJ86DAeeuRhn41xrikIVUJhVHPyY9thsBeDo8j5X3sxBnsRODy+thdjcBR5P7YXg70Ig8P1X3sxODyfd/4XRzGG6v5GRUTkvJKfn8+gIYMB6Na1G3954EHGjBtb6eMNBgMOh8NX0zsvKAhVgt1Um6LIpjiMgWAMwGEIANfXVTtQmRDlGZ7cYapMiHKUhq3ytnm/RnmBrfz9vMbDv/8nERE5H9SqVYvMrCwAQkJCeOP1f1M7PJzAwEDee/89VqxYQYMGDXjnrbdJWr+eyy+/jEcffZRmzZrxwAMPEmA0kp6ezvj778NsNvPE44/TskVLAgIDmDJ1KitWrPAaLzw8nOf+8RzxDRtis9l44cUX2LlrF+PGjiU2NpaGDRsSWz+W2XPmMHfeXABen/Q6sfXrExwczJy5c5j/xRfn/H0qS0GoEkyHN2E6vOmE7Q4MJwQjh9H5tcMYAIbA0seGANfzZfYzlH3s3K/0NUqOKXmtAOwBpnKPKXltjFX8x2qvYDWrbFArs2JW4QqYo6IVsxP38wpxZcObApqI+DmTycScWbMJNpmIiYlh/PhxABQUFPDo3x4jJyeHiDoRTJ82zR1kmjRpwoSJE3j5lZeJiIjgmaef4d6xYzh06BDh4eEA3DtqNElJSUx8/nnCwsKYMf1j1q5d6zX2+HHj2L59G48+9iidOnbi+YnPu1enmjZpytjx46gVWov5n3/OZ599RlFxEROfn0hmZiYmk4kZH3/Msh9+ICMj4xy+YydSEDoLBhyuX8hFUJxf3dNxcwAYArzCk8MY6ApVJdvLPnbt5w5mgV7Hlf8ankEsEHtQcLn7ucNiQFDVfqPukFV+6Cr/VGXRSY+paMXMO/iVFwQ9wpvDrtOcInJOeJ4au/yyy3h+4vPcNXAABgw8+MADdEjogN1up27dukRHRwNw+PBhtmzd6j5mY3Iyhw4dAiAzMxOArl270r1Hd4YNHQZAsMlEg9hYr7Hbt2/P3x5/HICk9UnUqVOHsFphAPz0808UFhaSnpGO1WolKjqKY8eOMejuu7n2mmsBqF8/lsaNGrFFQUiqmgGcv5CLizEUV/dsSpUGtIAyK2ae4alMECtvtc1QXhArs9rmuRoXaMJhrOUd4squohmq8AJKh73iU5zlhqfyTl2WtxpWwanLk/XTPFfo1EMTuaBt3rKFiIgIIiMjuerKq4iMiGTI0KEUFRexaMFCgoODAciz5ZUeZDBAOR0hg8HA3x5/nH379nltj3KFKQBDOT9RHK6V+oKCQve2YnsxAQEBJCYm0rlzF0aMHIkt38bUKVMINpnO6nuuCgpCcs7U1IAG4DAYywSxCkKWofT0Y4WraGWDmtcpTo/wFRCEPSik4tW2ktOkVam48BQrYuV1xspZbavEKpr3MRWPpYAmUjWaNmmKMSCAjIwMwsLCsFgtFBUX0TGxI3FxceUes3nzZp58/Ani4uLcp8YyMzNZs2YNdw8cyCuvvgpA69at2b59u9exG5OTueXmW/jfB/8jMTGR9Ix0cnJyKpxfWFgYWZmZ2PJtNG3SlMvaXlZ13/xZUBASAQwOu/OUlr3w1DufQ+4eWpkg5j7tWJnwVt5+HqtxJ3TaAoKwG80nOcbHFwqUDWrlhqxyLhQ4xSpa+St0Rd6voQsF5DxT0hEC5yrOc889h91u55tvvuE/b7zBzI9nsH3HDvbs2VPu8enp6bzwrxeZ9NprGA1GLFYL9z/wAP/94H889uijzJs7D4MBDh86fMIl81OmTmHCc88xb85cbDYbzz333Ennunr1au7s1595c+ayd98+tmzdUjVvwlkyJCR2uOD+T5/58QyGDh9W3dMQuWB5Xyhw8nL/CRcElLefR+iqsNNWdrWtnBDoswsFTjgNWf4pzpNeAFC2Y1befl7H6EIBkXNBK0Iictq8LxSo7tmU8u6hlXeqsiSYlemnee0XeOJrlNdp81h9c5/iLDOWe5+qvlDAYT/prTUqs4pW8WnRck5deq3QVXBbDl0oIOcpBSERuWB499AKqns6bs6AZix/NctQZtWrwltpnKx3VsF+ASYcQRV12kpOr/rgQoEyHbOTXWV50is6PQLdSe+pVm4/TRcKSOUoCImI+JgzoNmhuKAGXyhw8nJ/6YUCJwlxlbxth9eFAhUc45se2smC2Gl8CsBZ3vxWFwrULApCIiJ+7Ly4UKCce545V74qd5Vn2VOcFa6iBQRhN5hPelq06nto5d/uojKfAhCQfQzzgTVVOx8/pCAkIiI1jruHZi+q7ql4KQloFa+ineRCAa+gdhoXChgCXDes9T4mMNCkIFQFFIREREQqqSSgQVGNO80pZ6YKW3IiIiIi5xcFIREREfFbCkIiIiLitxSERERExG8pCImIiIjfUhASERERv6UgJCIiIn5LQUhERET8loKQiIiI+C0FIREREfFbCkIiIiLitxSERERExG8pCImIiIjfUhASERERv6UgJCIiIn5LQUhERET8loKQiIiI+C0FIREREfFbCkIiIiLitxSERERExG8pCImIiIjfUhASERERv6UgJCIiIn5LQUhERET8loKQiIiI+C0FIREREfFbCkIiIiLitxSERERExG/V6CBkNBqZPWsWb77xHwDCw8N57913+XL+F7z37rvUrl27mmcoIiIi57MaHYQGDRrEnj173Y9HjhjBunVJ3N7vDtatS2LkiBHVNjcRERE5/9XYIFSvXj2uvvIqvvzyS/e2Hj16sGjRIgAWLVrENddcU02zExERkQtBjQ1Cjz36KG++9SZ2h929LToqmtS0VABS01KJioyqrumJiIjIBaBGBqGrr7oai8XK79u2VfdURERE5AIWWN0TKE+7du3o0b07V115JcHBwdQKC+OF5/9JmiWNmOgYUtNSiYmOwWK1VPdURURE5DxWI1eE3nn3HW657VZ69enN359+ivVJSTzzj2dZuWIlvXr1AqBXr16sWLGimmcqIiIi57MaGYQq8tH0aXTt0oUv539B1y5d+GjatOqekoiIiJzHauSpMU8bNmxgw4YNAGRkZDD+/vuqeUYiIiJyoTivVoREREREqpKCkIiIiPgtBSERERHxWwpCIiIi4rcUhERERMRvKQiJiIiI31IQEhEREb+lICQiIiJ+S0FIRERE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KHIY+C3DedPGWXvAs2d0Pn9YbE3isyBUp04d9uzZW+5zRoORoOBgXw0tIiJygSrtGUnV8Fkl/dChQ1x+efk3arq07aXs27fXV0OLiIiIVIrPgtCir79mxD0juOXmWwgKCgLAgYOOiR0ZMmiw1weviYiIiFQHn50am/7xdC66qBX/fP55ni14BoAP//cBwcHBfLt0KfPmzfPV0CIiIiKV4rMgZLfb+ftTT/HJJ5/QrVs3oiKjSM/IYPWa1WysxG22RURERHzN53dnSk5JITklxdfDiIiIiJw23b9bRERE/JbPVoTWr0vC4Sj/81wdDgfZ2dls276Njz+ewS9rf/HVNEREREQq5LMVof/9738cPXoUq9XKwkULmT59Oou+XoTVauXYsWMsXryYyIhI3n7rLa6+6mpfTUNERESkQj5bEcovKODgoUP85f/+QkFBgXu7yWTi7bfewppuZfDQIbz1nzcZNXIkq35a5aupiIiIiJTLZytCd/bvz6zZs7xCEEB+fj6zZs+mf7/+OBwOvvjqS1q1auWraYiIiIhUyGdBKDIyksDA8hecggKDqBMRAUB6ejoGgz4vRURERM49nwWh33//nXFjxxETHeO1PSYmhrFjx/D7b78B0KBBA44fP+6raYiIiIhUyGcdodcmTWLy+++zcMECNm/ZgtViITIqissvuwybzcYzzz4LQKP4RixZssRX0xARERGpkCEhsUP517hXgTp16jBsyFDatm1LTEwMqampbNm6hZmzZpGRkeGrYZn58QyGDh/ms9cXERGRC4NP7yydkZHBO++968shRERERM6Y7iwtIiIifsunK0ItWrTg9r59adKkCaZgk9dzDoeD8fff58vhRURERE7KZ0Go7aVt+e/UqRw6fJjGjRqxc9dOwmuHExsby9Fjx/jzwAFfDS0iIiJSKT47NfbgAw/ww/Ll3DXgLgwGA88//0969enNffffT4DRyP8++MBXQ4uIiIhUis+CUKtWrVj8zWL3B68aA5xDJa1P4n8ffMCDDz7oq6FFREREKsVnQSgwMJC8vDwcDgcZmZnExJTeWHHfvn20bNHCV0OLiIiIVIrPgtCff/5Jvbr1ANi1cyd9+/TFYDBgMBjo06c3qWlpvhpaREREpFJ8FoRWrlpJx8READ746EOuvOIKVq1YyY/Lf+Tmnjcza9ZMXw0tIiIiUik+u2ps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NmvWTAvnL9Di8Ah9Pn1GIVbnnfK6pkGlgjT1wylatGChFodHqHu3boVcoXepXLmypn82XUsWf63F4RHq07tPjvvx3XTtCEJOVq5cqZeG5H6T2H333adaNWuqx2OPavyE8Ro1alQhVued8rqmp06f0qDnn1OvPr31+cwv9NabbxVidd4nr+spSWazWf835GVFbYsqpKq8V17XMygoSKNGjNSrQ4fqqV49NXzkiEKszjvldU179nxKh48cVu++ffTc4Of16iuvyte3WD63c0NYMi2aMmWKnnjqST39zED1fOop1a1b12UfvpuuD0HISfSuXYpPiM/1/TatW2vVmtWSpD1796p06SCFVAgprPK8Ul7XdPfu3UpMTJQk7dmzR5UrVSqs0rxSXtdTknr36qWNmzbqwoWLhVSV98rrenZ6pJM2RW7S2XNnJUkXL3JN85LXNbXZpJIlS0mSSpYsqYSEBFkslsIqz+vExMbojwN/SJIuXbqkI0ePqFK2fyf5bro+BKECqFSxks6dPed4ff7ceVWsVNGDFRUvj/Z4VFt/+snTZXi1ihUrqm2btvp6yRJPl1Is1K5VS2VKl9GM6dM1/6t56tKli6dL8nrhEeGqW7eu1n27ThGLwjVp8mTZbDy8nB9Vq1bV7bffob1797ps57vp+jAeWRAmk/s2/gO+IZo3a65He/TQs4P+4elSvNprw17TR//5SFar1dOlFAs+vj5q0KCBBv/zBQUGBGr2rFnas2ePjh8/7unSvNa9996rgwcPaPALg1WzRg19+smn2tV3l5KTkz1dWpFWokQJTX5/kj74YLL7teK76boQhArg/PlzqlylsvSb/XWlypX0118xni2qGKh3220aPXq0hrw8RPHxV5/2wdXd2aCB/v3uvyVJ5cqV0/333SdLpkXfb/7es4V5qXPnzisuLk6pqalKTU1V9K5o1a9XnyB0Hbp3667Zs2dJkk6cPKnTp0+rTp062rdvn4crK7p8fXw1+f1JWvPtWm2KjHR7n++m68PUWAFs3vyDuna2D43f1aiRkpKSFBPLX7brUaVyFU2eNFmjx4zmy+UG6Naju7p276au3bvpu40b9e+J7xGCrsPmzd+rSeMm8vHxUWBAoBo1aqQjR494uiyvdvbsWbVs2VKSVL58edWuXVunTp7ycFVF25gxo3XkyBHNnz8/x/f5bro+rCzt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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\"\"\" Most of the code is taken from \n", + "https://github.com/petermckeeverPerform/friends-of-tracking-viz-lecture/blob/master/notebooks/lecture-notebook.ipynb\"\"\"\n", + "title_font = \"DejaVu Sans\"\n", + "body_font = \"Open Sans\"\n", + "text_color = \"w\"\n", + "background = \"#313332\"\n", + "filler = \"grey\"\n", + "primary = \"red\"\n", + "\n", + "mpl.rcParams['xtick.color'] = text_color\n", + "mpl.rcParams['ytick.color'] = text_color\n", + "mpl.rcParams['xtick.labelsize'] = 10\n", + "mpl.rcParams['ytick.labelsize'] = 10\n", + "array_length = len(list(df.iloc[0]['Win League'])) #len of all lists should be same\n", + "matchday = np.asarray(list(range(1, array_length +1)))\n", + "\n", + "fig, ax = plt.subplots(figsize=(8,8))\n", + "fig.set_facecolor(background)\n", + "ax.patch.set_alpha(0)\n", + "spines = [\"top\",\"right\",\"bottom\",\"left\"]\n", + "for s in spines:\n", + " if s in [\"top\",\"right\"]:\n", + " ax.spines[s].set_visible(False)\n", + " else:\n", + " ax.spines[s].set_color(text_color)\n", + "\n", + "ax.set_xlabel(\"Matchday\", fontfamily=title_font, fontweight=\"regular\", fontsize=16, color=text_color)\n", + "ax.set_ylabel(\"Percentage\", fontfamily=title_font, fontweight=\"regular\", fontsize= 16, color=text_color)\n", + "\n", + "ax.tick_params(axis=\"both\",length=0)\n", + "for i in range(len(df)):\n", + " x = np.asarray(list(df.iloc[i]['Win League']))\n", + " plt.annotate(df.iloc[i]['team'],(matchday[-1],np.asarray(list(df.iloc[i]['Win League']))[array_length -1]+0.5),color=text_color)\n", + " plt.plot(matchday,x)\n", + "\n", + "fig.text(0,1,\"538 La Liga Predictions\",fontweight=\"bold\", fontsize=18,fontfamily=title_font, color=text_color)\n", + "plt.tight_layout()\n", + "plt.show() \n", + "ax.grid(ls=\"dotted\",lw=\"0.5\",color=\"lightgrey\", zorder=1)" + ] + } + ], + "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.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}