{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "04d3ce0a",
   "metadata": {
    "frontmatter": true,
    "tags": [],
    "user_expressions": []
   },
   "source": [
    "---\n",
    "title: Visualization & Figure Creation\n",
    "description: Creating static figures using Seaborn\n",
    "authors:\n",
    "  - name: Steve Purves\n",
    "    orcid: 0000-0002-0760-5497\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f3f2a59",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "## Main Timeline Figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "12f72d64",
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "sns.set_theme(style=\"whitegrid\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "291dc1cc",
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_category_columns(df):\n",
    "    df['Depth'] = 'Shallow (<18km)'\n",
    "    df.loc[(df['Depth(km)'] >= 18) & (df['Depth(km)'] <= 28), 'Depth'] = 'Interchange (18km>x>28km)'\n",
    "    df.loc[df['Depth(km)'] >= 28, 'Depth'] = 'Deep (>28km)'\n",
    "    \n",
    "    df['Mag'] = 0\n",
    "    df.loc[(df['Magnitude'] >= 1) & (df['Magnitude'] <= 2), 'Mag'] = 1\n",
    "    df.loc[(df['Magnitude'] >= 2) & (df['Magnitude'] <= 3), 'Mag'] = 2\n",
    "    df.loc[(df['Magnitude'] >= 3) & (df['Magnitude'] <= 4), 'Mag'] = 3\n",
    "    df.loc[(df['Magnitude'] >= 4) & (df['Magnitude'] <= 5), 'Mag'] = 4    \n",
    "    \n",
    "    return df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb96f187",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "## Visualising Long term earthquake data\n",
    "\n",
    "Data taken directly from the IGN Catalog and processed using the [data screening notebook](data-screening.ipynb)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f48a68e0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Event</th>\n",
       "      <th>Date</th>\n",
       "      <th>Time</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Longitude</th>\n",
       "      <th>Depth(km)</th>\n",
       "      <th>Intensity</th>\n",
       "      <th>Magnitude</th>\n",
       "      <th>Type Mag</th>\n",
       "      <th>Location</th>\n",
       "      <th>DateTime</th>\n",
       "      <th>Timestamp</th>\n",
       "      <th>Swarm</th>\n",
       "      <th>Phase</th>\n",
       "      <th>Depth</th>\n",
       "      <th>Mag</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>es2017eugju</td>\n",
       "      <td>2017-03-09</td>\n",
       "      <td>23:44:06</td>\n",
       "      <td>28.5346</td>\n",
       "      <td>-17.8349</td>\n",
       "      <td>26.0</td>\n",
       "      <td></td>\n",
       "      <td>1.6</td>\n",
       "      <td>4</td>\n",
       "      <td>NE FUENCALIENTE DE LA PALMA.IL</td>\n",
       "      <td>2017-03-09 23:44:06</td>\n",
       "      <td>1489103046000000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>Interchange (18km&gt;x&gt;28km)</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>es2017euhlh</td>\n",
       "      <td>2017-03-10</td>\n",
       "      <td>00:16:10</td>\n",
       "      <td>28.5491</td>\n",
       "      <td>-17.8459</td>\n",
       "      <td>27.0</td>\n",
       "      <td></td>\n",
       "      <td>2.0</td>\n",
       "      <td>4</td>\n",
       "      <td>N FUENCALIENTE DE LA PALMA.ILP</td>\n",
       "      <td>2017-03-10 00:16:10</td>\n",
       "      <td>1489104970000000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>Interchange (18km&gt;x&gt;28km)</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>es2017cpaoh</td>\n",
       "      <td>2017-03-10</td>\n",
       "      <td>00:16:11</td>\n",
       "      <td>28.5008</td>\n",
       "      <td>-17.8863</td>\n",
       "      <td>20.0</td>\n",
       "      <td></td>\n",
       "      <td>2.1</td>\n",
       "      <td>4</td>\n",
       "      <td>W LOS CANARIOS.ILP</td>\n",
       "      <td>2017-03-10 00:16:11</td>\n",
       "      <td>1489104971000000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>Interchange (18km&gt;x&gt;28km)</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>es2017eunnk</td>\n",
       "      <td>2017-03-10</td>\n",
       "      <td>03:20:26</td>\n",
       "      <td>28.5204</td>\n",
       "      <td>-17.8657</td>\n",
       "      <td>30.0</td>\n",
       "      <td></td>\n",
       "      <td>1.6</td>\n",
       "      <td>4</td>\n",
       "      <td>NW FUENCALIENTE DE LA PALMA.IL</td>\n",
       "      <td>2017-03-10 03:20:26</td>\n",
       "      <td>1489116026000000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>Deep (&gt;28km)</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>es2017kajei</td>\n",
       "      <td>2017-08-21</td>\n",
       "      <td>02:06:55</td>\n",
       "      <td>28.5985</td>\n",
       "      <td>-17.7156</td>\n",
       "      <td>0.0</td>\n",
       "      <td></td>\n",
       "      <td>1.6</td>\n",
       "      <td>4</td>\n",
       "      <td>E EL PUEBLO.ILP</td>\n",
       "      <td>2017-08-21 02:06:55</td>\n",
       "      <td>1503281215000000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>Shallow (&lt;18km)</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Event        Date      Time  Latitude  Longitude  Depth(km)  \\\n",
       "0   es2017eugju  2017-03-09  23:44:06   28.5346   -17.8349       26.0   \n",
       "1   es2017euhlh  2017-03-10  00:16:10   28.5491   -17.8459       27.0   \n",
       "2   es2017cpaoh  2017-03-10  00:16:11   28.5008   -17.8863       20.0   \n",
       "3   es2017eunnk  2017-03-10  03:20:26   28.5204   -17.8657       30.0   \n",
       "4   es2017kajei  2017-08-21  02:06:55   28.5985   -17.7156        0.0   \n",
       "\n",
       "      Intensity  Magnitude  Type Mag                        Location  \\\n",
       "0                      1.6         4  NE FUENCALIENTE DE LA PALMA.IL   \n",
       "1                      2.0         4  N FUENCALIENTE DE LA PALMA.ILP   \n",
       "2                      2.1         4              W LOS CANARIOS.ILP   \n",
       "3                      1.6         4  NW FUENCALIENTE DE LA PALMA.IL   \n",
       "4                      1.6         4                 E EL PUEBLO.ILP   \n",
       "\n",
       "              DateTime            Timestamp  Swarm  Phase  \\\n",
       "0  2017-03-09 23:44:06  1489103046000000000    0.0      0   \n",
       "1  2017-03-10 00:16:10  1489104970000000000    0.0      0   \n",
       "2  2017-03-10 00:16:11  1489104971000000000    0.0      0   \n",
       "3  2017-03-10 03:20:26  1489116026000000000    0.0      0   \n",
       "4  2017-08-21 02:06:55  1503281215000000000    0.0      0   \n",
       "\n",
       "                       Depth  Mag  \n",
       "0  Interchange (18km>x>28km)    1  \n",
       "1  Interchange (18km>x>28km)    2  \n",
       "2  Interchange (18km>x>28km)    2  \n",
       "3               Deep (>28km)    1  \n",
       "4            Shallow (<18km)    1  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ign = pd.read_csv('../data/lapalma_ign.csv')\n",
    "df_ign = make_category_columns(df_ign)\n",
    "df_ign.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "59c54f01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       2017-03-09 23:44:06\n",
       "1       2017-03-10 00:16:10\n",
       "2       2017-03-10 00:16:11\n",
       "3       2017-03-10 03:20:26\n",
       "4       2017-08-21 02:06:55\n",
       "                ...        \n",
       "11342   2022-09-14 00:20:51\n",
       "11343   2022-09-14 01:40:30\n",
       "11344   2022-09-14 01:44:52\n",
       "11345   2022-09-14 02:03:08\n",
       "11346   2022-09-14 03:58:59\n",
       "Name: DateTime, Length: 11347, dtype: datetime64[ns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ign['DateTime'] = pd.to_datetime(df_ign['Date'] + ' ' + df_ign['Time'])\n",
    "df_ign['DateTime']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f7731cea",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_ign_early = df_ign[df_ign['DateTime'] < '2021-09-11']\n",
    "df_ign_pre = df_ign[(df_ign['DateTime'] >= '2021-09-11')&(df_ign['DateTime'] < '2021-09-19 14:13:00')]\n",
    "df_ign_phase1 = df_ign[(df_ign['DateTime'] >= '2021-09-19 14:13:00')&(df_ign['DateTime'] < '2021-10-01')]\n",
    "df_ign_phase2 = df_ign[(df_ign['DateTime'] >= '2021-10-01')&(df_ign['DateTime'] < '2021-12-01')]\n",
    "df_ign_phase3 = df_ign[(df_ign['DateTime'] >= '2021-12-01')&(df_ign['DateTime'] <= '2021-12-31')]\n",
    "\n",
    "df_erupt = df_ign[(df_ign['Date'] < '2022-01-01') & (df_ign['Date'] > '2021-09-11')]\n",
    "\n",
    "df_erupt_1 = df_erupt[df_erupt['Magnitude'] < 1.0]\n",
    "df_erupt_2 = df_erupt[(df_erupt['Magnitude'] >= 1.0)&(df_erupt['Magnitude'] < 2.0)]\n",
    "df_erupt_3 = df_erupt[(df_erupt['Magnitude'] >= 2.0)&(df_erupt['Magnitude'] < 3.0)]\n",
    "df_erupt_4 = df_erupt[(df_erupt['Magnitude'] >= 3.0)&(df_erupt['Magnitude'] < 4.0)]\n",
    "df_erupt_5 = df_erupt[df_erupt['Magnitude'] > 4.0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a3729516",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 5932492 characters]",
      "text/plain": [
       "<Figure size 7200x3600 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#| label: fig-timeline\n",
    "#| fig-cap: Earthquake data over time (n=5465) to understand their distributions spatially, by depth, by magnitude and in time.\n",
    "\n",
    "from matplotlib.patches import Rectangle\n",
    "\n",
    "import datetime as dt\n",
    "from matplotlib.dates import date2num, num2date\n",
    "\n",
    "matplotlib.rcParams['font.sans-serif'] = \"Helvetica\"\n",
    "matplotlib.rcParams['font.family'] = \"sans-serif\"\n",
    "matplotlib.rcParams['xtick.labelsize'] = 14\n",
    "matplotlib.rcParams['ytick.labelsize'] = 14\n",
    "matplotlib.rcParams['ytick.labelleft'] = True\n",
    "matplotlib.rcParams['ytick.labelright'] = True\n",
    "\n",
    "fig = matplotlib.pyplot.figure(figsize=(24,12), dpi=300)\n",
    "fig.tight_layout()\n",
    "# Creating axis\n",
    "# add_axes([xmin,ymin,dx,dy])\n",
    "ax_min = fig.add_axes([0.01, 0.01, 0.01, 0.01])\n",
    "ax_min.axis('off')\n",
    "ax_max = fig.add_axes([0.99, 0.99, 0.01, 0.01])\n",
    "ax_max.axis('off')\n",
    "\n",
    "ax_timeline = fig.add_axes([0.04, 0.1, 0.92, 0.85])\n",
    "ax_timeline.spines[\"top\"].set_visible(False)\n",
    "ax_timeline.spines[\"right\"].set_visible(False)\n",
    "ax_timeline.spines[\"left\"].set_visible(False)\n",
    "ax_timeline.grid(axis='x')\n",
    "\n",
    "\n",
    "ax_timeline.axvline(x=dt.datetime(2021, 9, 19, 14, 13), ymin=0.075, ymax=0.98, color='r', linewidth=3)\n",
    "\n",
    "\n",
    "def make_scatter(df, c, alpha=0.8):\n",
    "    M = 3*np.exp2(1.3*df['Magnitude'])\n",
    "    return ax_timeline.scatter(df['DateTime'], df['Depth(km)'], s=M, c=c, alpha=alpha, edgecolor='black', linewidth=0.5, zorder=2);\n",
    "\n",
    "points_1 = make_scatter(df_erupt_1, c=[(0.890, 0.466, 0.760)], alpha=0.3)\n",
    "points_2 = make_scatter(df_erupt_2, c=[(0.737, 0.741, 0.133)], alpha=0.4)\n",
    "points_3 = make_scatter(df_erupt_3, c=[(0.172, 0.627, 0.172)], alpha=0.5)\n",
    "points_4 = make_scatter(df_erupt_4, c=[(1.000, 0.498, 0.054)], alpha=0.6)\n",
    "points_5 = make_scatter(df_erupt_5, c=[(0.839, 0.152, 0.156)], alpha=0.8)\n",
    "\n",
    "ax_timeline.tick_params(axis='x', labelrotation=0, bottom=True)\n",
    "ax_timeline.set_ylabel('')\n",
    "ax_timeline.yaxis.set_ticks_position('both')\n",
    "ax_timeline.yaxis.set_ticks_position('both')\n",
    "\n",
    "xticks = ax_timeline.get_xticks()\n",
    "new_xticks = [date2num(pd.to_datetime('2021-09-11')),\n",
    "    date2num(pd.to_datetime('2021-09-19 14:13:00'))]\n",
    "new_xticks = np.append(new_xticks, xticks[2:-1])\n",
    "ax_timeline.set_xticks(new_xticks)\n",
    "\n",
    "ax_timeline.invert_yaxis()\n",
    "ax_timeline.spines['bottom'].set_position(('data', 45))\n",
    "ax_timeline.margins(tight=True, x=0)\n",
    "ax_timeline.legend(\n",
    "    [points_1, points_2, points_3, points_4, points_5],\n",
    "    ['0 < M <= 1','1 < M <= 2','2 < M <= 3','3 < M <= 4','M > 4'],\n",
    "    loc='lower left', bbox_to_anchor=(0.01, 0.1, 0.15, 0.1), fancybox=True,\n",
    "    borderpad=1.0, labelspacing=1, mode=\"expand\", title=\"Event Magnitude (M)\",\n",
    "    fontsize=14, title_fontsize=14, framealpha=1)\n",
    "\n",
    "ax_timeline.set_ylim(ax_timeline.get_ylim()[0], -9)\n",
    "\n",
    "plt.annotate('ERUPTION', (0.055, 0.42), rotation=90, xycoords='axes fraction', fontweight='bold', fontsize=20, color='r')\n",
    "plt.annotate('Pre\\nEruptive\\nSwarm', (0.035, 0.88), rotation=0, xycoords='axes fraction', fontweight='bold', fontsize=20, color='b', horizontalalignment='center')\n",
    "plt.annotate('Early Eruptive\\nPhase', (0.12, 0.9), rotation=0, xycoords='axes fraction', fontweight='bold', fontsize=20, color='orange', horizontalalignment='center')\n",
    "plt.annotate('Main Eruptive Phase\\n(sustained gas and lava ejection)', (0.45, 0.9), rotation=0, xycoords='axes fraction', fontweight='bold', fontsize=20, color='green', horizontalalignment='center')\n",
    "plt.annotate('Final Eruptive Phase\\n(reducing gas and lava ejection)', (0.86, 0.9), rotation=0, xycoords='axes fraction', fontweight='bold', fontsize=20, color='r', horizontalalignment='center')\n",
    "\n",
    "ax_timeline.add_patch(Rectangle((date2num(pd.to_datetime('2021-09-11')), -8), date2num(pd.to_datetime('2021-09-19 14:13:00'))-date2num(pd.to_datetime('2021-09-11')), 53, color=(0.121, 0.466, 0.705), zorder=1, alpha=0.1))\n",
    "ax_timeline.add_patch(Rectangle((date2num(pd.to_datetime('2021-09-19 14:13:00')), -8), date2num(pd.to_datetime('2021-10-01'))-date2num(pd.to_datetime('2021-09-19 14:13:00')), 53, color=(1.000, 0.498, 0.055), zorder=1, alpha=0.1))\n",
    "ax_timeline.add_patch(Rectangle((date2num(pd.to_datetime('2021-10-01')), -8), date2num(pd.to_datetime('2021-12-01'))-date2num(pd.to_datetime('2021-10-01')), 53, color=(0.173, 0.627, 0.172), zorder=1, alpha=0.1))\n",
    "ax_timeline.add_patch(Rectangle((date2num(pd.to_datetime('2021-12-01')), -8), date2num(pd.to_datetime('2021-12-31'))-date2num(pd.to_datetime('2021-12-01'))+1, 53, color=(0.839, 0.152, 0.156), zorder=1, alpha=0.1));\n",
    "\n",
    "ax_timeline.set_title(\"Recorded seismicity during the La Palma eruption 11 September - 15 December 2021 (INVOLCAN Dataset)\", dict(fontsize=24), pad=20)\n",
    "ax_timeline.set_ylabel(\"Depth (km)\", dict(fontsize=20), labelpad=20)\n",
    "ax_timeline.set_xlabel(\"Eruption Timeline\", dict(fontsize=20), labelpad=20);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63241424",
   "metadata": {
    "user_expressions": []
   },
   "source": [
    "## Cumulative Distrubtion Plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "abbf0d50",
   "metadata": {},
   "outputs": [],
   "source": [
    "def cumulative_events_mag_depth(df, hue='Depth', kind='scatter', ax=None, dpi=300, palette=None, kde=True):\n",
    "    matplotlib.rcParams['ytick.labelright'] = False\n",
    "    g = sns.jointplot(x=\"Magnitude\", y=\"Depth(km)\", data=df,\n",
    "                      kind=kind, hue=hue, height=10, space=0.1, marginal_ticks=False, ratio=8, alpha=0.6,\n",
    "                      hue_order=['Shallow (<18km)', 'Interchange (18km>x>28km)', 'Deep (>28km)'],\n",
    "                      ax=ax, palette=palette, ylim=(-2,50), xlim=(0.3,5.6), edgecolor=\".2\", marginal_kws=dict(bins=20))\n",
    "    if kde:\n",
    "        g.plot_joint(sns.kdeplot, color=\"b\", zorder=1, levels=15, ax=ax)\n",
    "    g.fig.axes[0].invert_yaxis();\n",
    "    g.fig.set_dpi(dpi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "9fc0146a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 2658132 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign, hue=None)\n",
    "plt.suptitle('Cumulative Events 01-01-2017 to 01-01-2022', y=1.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b1fc42cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 1112508 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign_early, hue=None)\n",
    "plt.suptitle(f'Events prior to 2021-09-11 ({len(df_ign_early.index)} events)', y=1.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "19e275d7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 948796 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign_pre, hue=None)\n",
    "plt.suptitle(f\"Events Immediately before Eruption 11-19 September 2021 ({len(df_ign_pre.index)} events)\", y=1.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "4bcecbd4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 740240 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign_phase1, hue=None)\n",
    "plt.suptitle(f\"Events in Phase 1 of Eruption 2021-09-11 to 2021-09-30 ({len(df_ign_phase1.index)} events)\", y=1.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "012f5878",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 1313616 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign_phase2, hue=None)\n",
    "plt.suptitle(f\"Events in Phase 2 of Eruption 2021-10-01 to 2021-11-31 ({len(df_ign_phase2.index)} events)\", y=1.01);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "32e0996c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "[encoded data, 1374824 characters]",
      "text/plain": [
       "<Figure size 3000x3000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cumulative_events_mag_depth(df_ign_phase3, hue=None)\n",
    "plt.suptitle(f\"Events in Phase 3 of Eruption 2021-12-01 to 2021-12-31 ({len(df_ign_phase3.index)} events)\", y=1.01);"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.7"
  },
  "vscode": {
   "interpreter": {
    "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
   }
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {},
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
