{ "cells": [ { "cell_type": "markdown", "id": "7ccb0344-f244-4a3c-80e4-7cb9f218f629", "metadata": {}, "source": [ "# Amphibole Classification Diagrams \n", "- This notebook shows how to plot Amphiboles on the Leake Calcic ampibole classification diagram\n", "- At present, we have only included the bottom figure from Leake et al. (1997) for the calcic amphiboles\n", "- If you really need other diagrams, please reach out to Penny and she can maybe add some of the other ones!\n", "- You can download the excel spreadsheet with data here:\n", "https://github.com/PennyWieser/Thermobar/blob/main/docs/Examples/Amphibole/Amphibole_Liquids.xlsx" ] }, { "cell_type": "code", "execution_count": 1, "id": "1d233b24-9085-48c1-bd75-4cf31140af63", "metadata": {}, "outputs": [], "source": [ "# Load in some import Python things, and Thermobar\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import Thermobar as pt\n", "pd.options.display.max_columns = None" ] }, { "cell_type": "markdown", "id": "22466eb8-407f-494c-8a66-85a3466d15fe", "metadata": { "tags": [] }, "source": [ "### You need to install Thermobar once on your machine, if you haven't done this yet, uncomment the line below (remove the #)" ] }, { "cell_type": "code", "execution_count": 10, "id": "a7876e27-fb53-4cc4-8243-ca0d08a6fadc", "metadata": {}, "outputs": [], "source": [ "#!pip install Thermobar" ] }, { "cell_type": "code", "execution_count": 2, "id": "9b422b3f-fc85-4a27-b456-f700ce8a93a4", "metadata": {}, "outputs": [], "source": [ "# Set some plotting parameters\n", "plt.rcParams[\"font.family\"] = 'arial'\n", "plt.rcParams[\"font.size\"] =12\n", "plt.rcParams[\"mathtext.default\"] = \"regular\"\n", "plt.rcParams[\"mathtext.fontset\"] = \"dejavusans\"\n", "plt.rcParams['patch.linewidth'] = 1\n", "plt.rcParams['axes.linewidth'] = 1\n", "plt.rcParams[\"xtick.direction\"] = \"in\"\n", "plt.rcParams[\"ytick.direction\"] = \"in\"\n", "plt.rcParams[\"ytick.direction\"] = \"in\"\n", "plt.rcParams[\"xtick.major.size\"] = 6 # Sets length of ticks\n", "plt.rcParams[\"ytick.major.size\"] = 4 # Sets length of ticks\n", "plt.rcParams[\"ytick.labelsize\"] = 12 # Sets size of numbers on tick marks\n", "plt.rcParams[\"xtick.labelsize\"] = 12 # Sets size of numbers on tick marks\n", "plt.rcParams[\"axes.titlesize\"] = 14 # Overall title\n", "plt.rcParams[\"axes.labelsize\"] = 14 # Axes labels" ] }, { "cell_type": "markdown", "id": "e8eefefe-55a6-487b-b7a7-c12e96547b52", "metadata": {}, "source": [ "## Import amphiboles and associated liquids\n", "- These amphiboles are from 2 units, unit 1 and unit 2" ] }, { "cell_type": "code", "execution_count": 3, "id": "9d203fa3-b620-474c-90ec-b5ed8c8a0945", "metadata": {}, "outputs": [], "source": [ "out=pt.import_excel('Amphibole_Liquids.xlsx', sheet_name=\"Amp_only_for_plotting\")\n", "my_input=out['my_input']\n", "Amps=out['Amps']" ] }, { "cell_type": "code", "execution_count": 4, "id": "5c681cfb-315a-492b-8241-713c8eb86b83", "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", "
SiO2_AmpTiO2_AmpAl2O3_AmpFeOt_AmpMnO_AmpMgO_AmpCaO_AmpNa2O_AmpK2O_AmpCr2O3_AmpF_AmpCl_AmpSample_ID_Amp
042.432.5012.977.800.0915.5611.212.411.610.3100Unit1
141.192.6212.259.440.1115.6711.542.441.400.1000Unit1
245.691.449.6413.370.2114.5710.721.760.230.0000Unit1
345.561.4310.4012.270.2115.1511.031.890.250.0000Unit1
445.651.5510.7813.300.2114.2110.811.890.270.0000Unit1
\n", "
" ], "text/plain": [ " SiO2_Amp TiO2_Amp Al2O3_Amp FeOt_Amp MnO_Amp MgO_Amp CaO_Amp \\\n", "0 42.43 2.50 12.97 7.80 0.09 15.56 11.21 \n", "1 41.19 2.62 12.25 9.44 0.11 15.67 11.54 \n", "2 45.69 1.44 9.64 13.37 0.21 14.57 10.72 \n", "3 45.56 1.43 10.40 12.27 0.21 15.15 11.03 \n", "4 45.65 1.55 10.78 13.30 0.21 14.21 10.81 \n", "\n", " Na2O_Amp K2O_Amp Cr2O3_Amp F_Amp Cl_Amp Sample_ID_Amp \n", "0 2.41 1.61 0.31 0 0 Unit1 \n", "1 2.44 1.40 0.10 0 0 Unit1 \n", "2 1.76 0.23 0.00 0 0 Unit1 \n", "3 1.89 0.25 0.00 0 0 Unit1 \n", "4 1.89 0.27 0.00 0 0 Unit1 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Check everything loaded in right, e.g., check no columns filled with zeros that should have data\n", "display(Amps.head())" ] }, { "cell_type": "markdown", "id": "fa35f851-aeab-494a-8fbb-40bee91b4144", "metadata": {}, "source": [ "## Once we've loaded the data in, we can use the loc function to extract separate dataframes for unit 1 and unit2" ] }, { "cell_type": "code", "execution_count": 5, "id": "fb8f3acd-c67c-413c-a55c-1f24af718998", "metadata": {}, "outputs": [], "source": [ "Amps_Unit1=Amps.loc[Amps['Sample_ID_Amp']==\"Unit1\"]\n", "Amps_Unit2=Amps.loc[Amps['Sample_ID_Amp']==\"Unit2\"]" ] }, { "cell_type": "markdown", "id": "8dde1e15-4785-4f6c-93dd-6f24ce626c5e", "metadata": {}, "source": [ "## This function makes the plot automatically\n", "- Here, we are plotting the amphiboles on Fig. 3 (bottom) from Leake, which is for Ca_B<1.5, and Na_A + K_A <0.5, CaA < 0.50\n", "- The option \"site_check=True\" means that it only plots amphibles which fit these criteria, and the printed message tells you how many were excluded. If you want to plot ones outside this Ca_B and Na_A and K_A range anyway, select site_check=False. \n", "- This is not as customizable as the bottom option, where we show how to construct the plot yourself, but provides a good first look. " ] }, { "cell_type": "code", "execution_count": 6, "id": "dbaa71a0-2082-4f57-8041-bbb5d9fc25fa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 amphiboles have Ca_B<1.5, so arent shown on this plot\n", "0 amphiboles have Ca_A>=0.5, so arent shown on this plot\n", "17 amphiboles have Na_A+K_A>0.5, so arent shown on this plot\n" ] }, { "data": { "image/png": "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RkYGl156KePHj+fdd9+lQ4cOjB49mqysLLZs2QLAV199xYwZM5g2bRrHHXccAFlZWWRmZnLyySezcuVK0tLS6NKlCwUFBcm6RK1KVMnOzLKBD4FRwASgMzASeMvM1KQIe+2116iurmbu3LlUVVWRl5eHmQFQUlJCeXn5Eft06NABgHbt2uHutetr9mtIVVUV48eP54YbbuDss8+O4bsIvrS0NLp168ZLL71EdnY2ELp9deDAAfr374+7U1lZWfsZpKSEfk1SU1Np37597Wfl7gwbNozJkydz4YUXkpGRwZQpU8jMzOTpp59m3759ALh77bGO9rlKy3HGGWdw9dVXU1xczIIFCw6rE59++ikAnTp1AkKfa3V1Nf3792fy5MmMGjWKzMxM2rVrR3p6OgAdO3YEQvUoLS2N1NRU3J21a9eyefNmevfuTZcuXYBQnbvhhhtYsmTJEXG5O507d2by5Mlcc8019OvXL+7XIgiivY35EPCAu880szIAd7/dzPYADwAvxyvA1uSll15ixowZHH/88bg7P/7xj1m3bh3FxcVUVFQwePBgKisryc/Pb/AYI0eO5LHHHgPg2muvPeIL6Z49e7JkyRLGjRvHI488QmpqKkOGDInr+wqiyy+/nJkzZzJnzhzeeOMNUlNT2bBhA5WVlRw4cIARI0Ywd+5c3nvvPbZs2cK3v/3tI44xZswY5s2bx2uvvUaHDh24+OKLWbhwId26dePEE0+kc+fOQOgznTt3Llu2bKGyspIxY8Yk+u1KM+zevZt169bRoUMHhgwZwrBhw5g7dy4A55577hHlzz33XP785z/zxBNPsG/fPu68886oznPCCSewbt069u/fT0VFBV9++SUZGRkMGzaMgoIC3nvvvdqylZWVvP/++5x77rk88sgjlJWVMWnSpNi84YCzyNZEg4VCCS7L3beHX5/j7h+Z2anAZnfvGO9A68Tj0cR9NHl5eUycODEGEQXP9OnTmTlzZrLDSJrdu3ezZMkSOnToQGVlJbfccou+Z4tCW6830jyx+ltsZrh7vbdPom3ZfQacAWyvs34YUHwMsYm0SD179mTatGnJDkNEYiTaDiq/BH5jZneF97nCzH4BzAb+I17BicTKsXQTr9sNvGY4SFNs2rSJhQsXNuv8InLsomrZufuTZvYp8I/AAULf030A3OLuDQ9EEWlBarqJ9+jR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mIULF5KRkUGnTp3YtGkTAKeffjq33norAGPHjuXkk0/m0KFDTJ06le9973u8+OKL9OzZk1GjRnHOOeewfv16Nm3aRK9evbjtttsYO3YsgwYNIjMzk9NPP732vJmZmYwfP55TTz2VnTt3snr1au666y7uuusuXnjhhcNizMzMJDMzkxEjRtQboxxdLD5nabli8fkOHjyYSy+9lH379nHo0CHOP/98BgwYwPLly7n66qv5wQ9+wDnnnAPABRdcwB133MHu3bvZtWsX77zzDmlpaWRkZLB58+ba8wwbNowuXbrw93//9/Tt25ezzjqLW265hfz8fFJSUrjiiivIysqipKSEkpISqquruf/++7n++uvJzMwEqE3Y2dnZLF68mPT0dLp168a7776bhCvdsqhl1wRXXnll7X+E06dPZ/z48aSlpbFq1SoAOnXqVFu2U6dOlJWVUTNEw8xwd55//nkuvvhiBg4cyKuvvsqhQ4dqy5SUlHDCCScccd4OHToA0K5dOyKHN0YO/6hPVVXVETHK0cXic5aWKxafb81y7969uf7669myZQu5ubl0796dlJRQG6K4uPiw49Xsm5mZyeTJk9mxYwcVFRW8//77tWUyMjIASE1NpX379qSmplJdXc2mTZvYsGEDl19+OT169KitY1OmTGHx4sXcc889R7zPlJQUbrzxRsrLy1m/Xo8bVbJrpnHjxvHII4+QmprKkCFD6i3Tp08fUlJSmDdvHl999RWTJk1iyZIlbN68ufa/yG9961vMnj2bJ598koqKCgYPHkxlZWWj3yWMHDmSxx57DIBrr732iC+ke/bsyZIlS6KKURrX3M9ZWofmfr6bN29m8eLFXH311SxbtowTTjiBs846i3PPPZdnnnmG9PR0evfuTdeuXY84VufOnXn88ccpKSlh2rRpUcXZpUsXPv/8c9auXcvevXspKysjJSWFrKwsCgsLWbNmTW3ZjIwMXnnlFcaMGcNDDz3EwYMHGTNmTLOvUVBYa/wv1MxiMoFLXl4eEydOjEFEwTN9+nRmzpyZ7DCklVG9keaI1d/icOu53lte+s5OREQCT8lO2oS8vDwKCwubtW/dLt7N6U6+adMmFi5c2Kzzi8ix03d20mYsW7aMFStW0KNHD0pLS0lPT6esrIxp06bx0EMP0a1bNwYOHMjLL7982FCP6upqnnzySfbv33/Y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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig=pt.plot_amp_class_Leake(amp_comps=Amps, fontsize=8, color=[0.3, 0.3, 0.3],\n", "linewidth=0.5, lower_text=0.3, upper_text=0.7, text_labels=True, site_check=True,\n", "plots=\"Ca_Amphiboles\", marker='.k')" ] }, { "cell_type": "markdown", "id": "51d1d80e-3d7d-49cb-822d-a755ee9bbba4", "metadata": {}, "source": [ "## Making a more customizable plot, e.g., plotting different units as different colours\n", "- Here, we are plotting the amphiboles on Fig. 3a from Leake, which is for Ca_B<1.5, and Na_A + K_A <0.5\n", "- By default, this code will plot all amphiboles, some of which may not actually lie on this diagram. " ] }, { "cell_type": "code", "execution_count": 9, "id": "90b6bcae-d78b-4603-8831-4cbb17b1f40e", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, (ax1) = plt.subplots(1, figsize=(5, 3.5), sharey=True)\n", "\n", "# First, add the fields to your axis\n", "pt.add_Leake_Amp_Fields_Fig3bot(ax1, fontsize=8, color=[0.3, 0.3, 0.3],\n", "linewidth=0.5, lower_text=0.3, upper_text=0.8, text_labels=True)\n", "\n", "# Now calculate the amphibole components\n", "cat_23ox_Unit1=pt.calculate_Leake_Diagram_Class(amp_comps=Amps_Unit1)\n", "cat_23ox_Unit2=pt.calculate_Leake_Diagram_Class(amp_comps=Amps_Unit2)\n", "\n", "# You only want the ones where \"Diagram\" = Fig. 3 - bottom - LHS, \n", "#Lets use Loc to find these rows\n", "cat_23ox_Unit1_Correct=cat_23ox_Unit1.loc[\n", " cat_23ox_Unit1['Diagram']==\"Fig. 3 - bottom - LHS\"]\n", "cat_23ox_Unit2_Correct=cat_23ox_Unit2.loc[\n", " cat_23ox_Unit2['Diagram']==\"Fig. 3 - bottom - LHS\"]\n", "\n", "# Now add these components to the axis, you can change symbol size, plot multiple amphioble populations in different colors. \n", "ax1.plot(cat_23ox_Unit1_Correct['Si_Amp_cat_23ox'], \n", " cat_23ox_Unit1_Correct['Mgno_Amp'], 'ok', label='Unit1')\n", "ax1.plot(cat_23ox_Unit2_Correct['Si_Amp_cat_23ox'], \n", " cat_23ox_Unit2_Correct['Mgno_Amp'], 'ok', mfc='red', label='Unit2')\n", "\n", "# Now reverse the x axis to match the common way of showing this in the literature\n", "ax1.invert_xaxis()\n", "\n", "# Add the axes labels\n", "ax1.set_ylabel('Mg# Amphibole')\n", "ax1.set_xlabel('Si (apfu)')\n", "\n", "# Add a legend\n", "ax1.legend(loc='upper right', facecolor='white', framealpha=1)\n", "\n", "# Adjust axis - Here, incorperate limit of diagram, \n", "# but could trim to emphasize certain bits of data. \n", "ax1.set_ylim([0, 1])\n", "ax1.set_xlim([8, 5.5])\n", "fig.savefig('Amp_Diagram.png', dpi=300)" ] }, { "cell_type": "code", "execution_count": null, "id": "159bb768-8c11-4f07-b4fe-7807b53372ee", "metadata": {}, "outputs": [], "source": [] } ], "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.12" } }, "nbformat": 4, "nbformat_minor": 5 }