- "execution_count": 33,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "<Axes: xlabel='closed'>"
- ]
- },
- "execution_count": 33,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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Nu3w/PPPP5/NmjUrGzZsWJf89z1ixIhs4cKFWZZl2d///vesqqoqu/POO9v333PPPdnw4cPLNV7J9OrVK3vyySd3uf+JJ57IevXq1YkTdY7/vuWXy+V22P77fFf873zQoEHZ0qVL2x+/8cYb2VlnnZUdc8wx2T//+c999opFl71587jjjosVK1bscv9bXc2oVKNGjYrly5fv8PzcuXPjwx/+cHzoQx8qw1SlN3z48Fi7dm3748WLF7f/bTYi4oUXXoiBAweWY7SyGDp0aFx11VWxbt26uPfee8s9TnLnnXdeTJ48OaZOnRoTJ06MSy+9NL7yla/EDTfcEDfeeGN84QtfiLPPPrvcYyZ34IEHRlNT0y73NzU1xYEHHthp83SWgw46KObPnx/r1q3bYXvuuefit7/9bblHLImWlpbo06dP++N8Ph933XVXDB8+PE455ZR46aWXyjjdrhX97aaV4qtf/epuL4OOHDky/vjHP3biRJ3j7LPPjttuuy3OP//8HfbNnTs32tra4oYbbijDZKV14YUXdrgMetRRR3XYv3Dhwjj11FM7e6ySGzZsWPTo0WOX+3O5XEyYMKETJ+ocjY2N0atXr1i8eHFMnTo1Zs6cGWPHjo1LL700XnvttTjrrLPi6quvLveYyX3+85+PyZMnx9e+9rU47bTT2r9VetOmTbFo0aK45ppr4qKLLirzlOkdd9xxsX79+hg2bNhO97/66qtd8i+Khx56aDzxxBNx2GGHtT/Xs2fP+PnPfx7nnHNOnHnmmWWcbte67D0WAF3RN77xjfjud78bGzdujFwuFxH/uZdqwIABMX369Lj00kvLPGF6CxYsiK1bt8anP/3pne5/5ZVX4u67744pU6Z08mSlddlll8WqVat2es/Mtm3b4qMf/Wj85je/2efusRAWABVo3bp17TcjDxgwIEaMGFHmiUht27Zt8dprr+1wo+7/7n/xxRd3eSWnXLrsPRYAXdmIESOivr4+6uvr26OiK3/w3+501XX37Nlzl1EREbFhw4ZobGzsxIneHlcsALqIv/zlL/Hud7+7y/3a5Vux7n1r3V325k2Arubuu+/e7f7nnnuukybpXNa9c/vqul2xAKgQ3fWD/6y7stbtHguACjFw4MC46667oq2tbafb448/Xu4RS8K6K2vdwgKgQnTXD/6z7p3bV9ftHguACtFdP/jPunduX123eywAgGS8FQIAJCMsAIBkhAUAkIywAACSERbADpqamiKXy8WqVau69QxA8YQFAJCMsAAAkhEW0I21tbXFN7/5zRg5cmTk8/kYOnRofP3rX9/psQ899FCceOKJkc/nY+DAgTFz5szYtm1b+/5f/OIXcfTRR0evXr2ib9++MX78+A4f7vPDH/4wjjjiiKipqYlRo0bF97///Q4//7HHHotjjz02ampq4vjjj4+VK1eWZtFASfnkTejGGhoaYv78+fGd73wn3vOe98SGDRti9erVOxz34osvxgc/+MH4zGc+EzfffHOsXr06pk6dGjU1NXHVVVfFhg0b4txzz41vfvObcfbZZ8fmzZvjkUceaf+44VtuuSWuvPLKmDt3bhx77LGxcuXKmDp1auy///4xZcqU2LJlS5x55pkxYcKE+NnPfhbr1q2LSy65pLP/cQApZEC31NramuXz+Wz+/Pk77Fu3bl0WEdnKlSuzLMuyyy+/PDv88MOztra29mOuv/767IADDsi2b9+erVixIouIrKmpaafneuc735ndeuutHZ67+uqrs/r6+izLsuzGG2/M+vbtm73++uvt++fNm9dhBqAyuGIB3dTf/va3KBQKcdppp72tY+vr6yOXy7U/N27cuNiyZUv84x//iLFjx8Zpp50WRx99dEycODFOP/30+NjHPhZ9+vSJrVu3xrPPPhuf+9znYurUqe2v37ZtW/Tu3bv9548ZMyZqamra99fX1ydcLdBZhAV0U7169Ur2s3r06BH3339/PProo/H73/8+vve978UVV1wRS5cujf322y8iIubPnx8nnXTSDq8DuhY3b0I3ddhhh0WvXr1i0aJFb3nsEUccEYsXL+7wFc1//vOfo7a2NgYPHhwR//kK53HjxkVjY2OsXLkyqqurY8GCBXHIIYfEoEGD4rnnnouRI0d22EaMGNH+85944ol444032n/+kiVLEq8Y6AyuWEA3VVNTE5dddllceumlUV1dHePGjYuXX345/vrXv+7w9sgXv/jFuO666+Kiiy6KL33pS7FmzZqYNWtWzJgxI6qqqmLp0qWxaNGiOP3006N///6xdOnSePnll+OII46IiIjGxsa4+OKLo3fv3vGBD3wgCoVCLF++PF555ZWYMWNGfOpTn4orrrgipk6dGg0NDdHU1BTf+ta3yvGPBdhb5b7JAyif7du3Z9dcc002bNiw7B3veEc2dOjQ7Nprr93h5s0sy7IHH3wwO+GEE7Lq6upswIAB2WWXXZa9+eabWZZl2dNPP51NnDgx69evX5bP57N3vetd2fe+970O57rllluyY445Jquurs769OmTnXzyydldd93Vvn/x4sXZ2LFjs+rq6uyYY47JfvnLX7p5EypQLsv+59omAMBecI8FAJCMsAAAkhEWAEAywgIASEZYAADJCAsAIBlhAQAkIywAgGSEBQCQjLAAAJIRFgBAMv8PBMTiOHhUsFgAAAAASUVORK5CYII=",
- "text/plain": [
- "<Figure size 640x480 with 1 Axes>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "for_plot.plot(kind='bar')"
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "closed_months = pd.to_datetime(df['closedAt'], format='ISO8601')\n",
+ "df['closed_month'] = closed_months.dt.month\n",
+ "df.drop(columns=['closedAt'], inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df['mile'] = [d.get('title') if d else None for d in df.milestone]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "dfg = df.groupby(['mile', 'closed_month']).count().reset_index()\n",
+ "dfg.drop(columns=['milestone', 'title', 'url'], inplace=True)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "print(dfg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Plot of closed issues by month and milestone for one project\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "exclude_from_chart = [\n",
+ "\t'Job Aid Ideas']\n",
+ "\n",
+ "for ex in exclude_from_chart:\n",
+ "\tdfg = dfg[dfg['mile'] != ex]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import seaborn as sns\n",
+ "import matplotlib.pyplot as plt\n",
+ "sns.set_theme()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "plt.figure(figsize=(10, 6))\n",
+ "sns.pie(x='closed_month', y='count', hue='mile', data=dfg)\n",
+ "plt.pie(dfg, )\n",
+ "plt.xlabel('Closed Month')\n",
+ "plt.ylabel('ClosedAt')\n",
+ "plt.title('Stacked Line Chart: Milestone Effort by Issue Close Date')\n",
+ "plt.xticks(rotation=45)\n",
+ "plt.legend(title='Mile', loc='upper left')\n",
+ "plt.show()"