{ "cells": [ { "cell_type": "markdown", "id": "d727693c-1a28-4107-ab13-871a6d50b8ce", "metadata": {}, "source": [ "Modules" ] }, { "cell_type": "code", "execution_count": 1, "id": "9ee2ed37-e6d6-4b58-990f-01645af65828", "metadata": {}, "outputs": [], "source": [ "import biota.models as biomodels\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "70e0667f-e6cf-4901-8fd2-b37d2dcdff03", "metadata": {}, "source": [ "---------------------------------------------" ] }, { "cell_type": "markdown", "id": "f0d0bec4-f996-46ed-ae23-5c64066fa9b4", "metadata": {}, "source": [ "Specify bioreactor parameters and construct bioreactor class instance from them.\n", "Values are derived from the 20,000 litre stirred aerated tank example case from Humbird https://doi.org/10.31224/osf.io/795su . Fed batch operation is considered here, no perfusion." ] }, { "cell_type": "code", "execution_count": 2, "id": "c0560668-2d1c-456c-b0de-cb0f0ee28df7", "metadata": {}, "outputs": [], "source": [ "workingVolume = 20000\n", "tankDiameter = 2.34\n", "impellerDiameter = tankDiameter/3\n", "rpm = 42.3\n", "backPressure = 1.3\n", "superficialVel = 0.004\n", "moleFracO2 = 0.21\n", "moleFracCO2 = 0.03\n", "initVol = 0.76 * workingVolume\n", "initCells = 4e6\n", "temp = 310\n", "powerNumber = 5\n", "mediumDensity = 1000\n", "mediumViscosity = 9e-4\n", "vesselVolDay = 0.0\n", "perfLactateRate = 5.0\n", "perfAmmrate = 5.0\n", "\n", "STR_Humbird_20kl = biomodels.Bioreactor(wv=workingVolume,t=tankDiameter,d=impellerDiameter,n=rpm,p_back=backPressure,u_s=superficialVel,mf_O2_gas=moleFracO2,mf_CO2_gas=moleFracCO2,v0=initVol,ns=initCells,Temp=temp,\n", " Np=powerNumber,rho=mediumDensity,mu=mediumViscosity,vvd=vesselVolDay,perfAMM=perfAmmrate,perfLAC=perfLactateRate)\n" ] }, { "cell_type": "markdown", "id": "49abc2c4-7363-4452-a2d9-5d817c1e750f", "metadata": {}, "source": [ "-----------------------------------------" ] }, { "cell_type": "markdown", "id": "a2df1758-722e-441e-9d2a-f29db0980e09", "metadata": {}, "source": [ "Specify cell parameters and create instance of cell class from them. Values are derived from the un-enhanced CHO model of Humbird https://doi.org/10.31224/osf.io/795su for the two doublings production scenario." ] }, { "cell_type": "code", "execution_count": 3, "id": "6f5dbc94-2ade-4e66-87c3-330f6bd0409c", "metadata": {}, "outputs": [], "source": [ "growthRate = 0.029\n", "\n", "glutamineUptakeRate = 0\n", "glucoseUptakeRate = 0\n", "oxygenUptakeRate = 0.45\n", "uptakeList = [glutamineUptakeRate, glucoseUptakeRate, oxygenUptakeRate]\n", "\n", "carbonDioxideProdRate = 0.57\n", "ammoniaProductionRate = 0.092\n", "lactateProductionRate = 0.624\n", "prodList = [carbonDioxideProdRate, ammoniaProductionRate, lactateProductionRate]\n", "\n", "massDensity = 1030\n", "cellRadius = 18e-6\n", "wetmass = 3000\n", "dryMassFraction = 0.3\n", "\n", "ammoniaLimit = 5\n", "lactateLimit = 50\n", "CO2Limit = 100\n", "turbLengthLimit = 20e-6\n", "limitsList = [ammoniaLimit, lactateLimit, CO2Limit, turbLengthLimit]\n", "\n", "\n", "cell_Humbird = biomodels.Cell(mu=growthRate,uptakes=uptakeList,prod=prodList,rho=massDensity,rad=cellRadius,wetmass=wetmass,dmf=dryMassFraction,limits=limitsList)" ] }, { "cell_type": "markdown", "id": "20597f1c-1c07-4245-adfd-beea49260022", "metadata": {}, "source": [ "-------------------------------------------------" ] }, { "cell_type": "markdown", "id": "2ade997f-99fe-4932-bb52-bf9d901c8875", "metadata": {}, "source": [ "Execute production performance function " ] }, { "cell_type": "code", "execution_count": 4, "id": "b8553185-64aa-4bc4-9031-09613443d7c5", "metadata": {}, "outputs": [], "source": [ "(a,b) = biomodels.yieldModel(STR_Humbird_20kl,cell_Humbird,144,klaInO2=False,tauMIn=False,epsIn=False)" ] }, { "cell_type": "markdown", "id": "ce4a16aa-ccc4-498a-a97c-3065c6293f96", "metadata": {}, "source": [ "-------------------------------------------------------------------" ] }, { "cell_type": "markdown", "id": "f9013e9d-2516-4da0-81a2-2bdc3d1febb6", "metadata": {}, "source": [ "Dataframe returned by production performance function" ] }, { "cell_type": "code", "execution_count": 5, "id": "d657011b-92ed-4e3b-a4d1-257308632267", "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>Time [hr]</th>\n", " <th>Mixing Time [s]</th>\n", " <th>Required/Theoretical kLa [-]</th>\n", " <th>Required kLa * Mixing Time [-]</th>\n", " <th>pCO2 [mbar]</th>\n", " <th>Ammonia [mmol/L]</th>\n", " <th>Lactate [mmol/L]</th>\n", " <th>Superficial Gas Top [m/s]</th>\n", " <th>Cell Density [wet g/L]</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>0.000000</td>\n", " <td>105.528229</td>\n", " <td>0.186109</td>\n", " <td>0.144490</td>\n", " <td>9.758607</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.005321</td>\n", " <td>12.000000</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>0.014401</td>\n", " <td>105.528229</td>\n", " <td>0.186189</td>\n", " <td>0.144553</td>\n", " <td>9.762676</td>\n", " <td>0.004771</td>\n", " <td>0.032358</td>\n", " <td>0.005321</td>\n", " <td>12.005013</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>0.028803</td>\n", " <td>105.528229</td>\n", " <td>0.186269</td>\n", " <td>0.144615</td>\n", " <td>9.766748</td>\n", " <td>0.009543</td>\n", " <td>0.064730</td>\n", " <td>0.005321</td>\n", " <td>12.010028</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>0.043204</td>\n", " <td>105.528229</td>\n", " <td>0.186349</td>\n", " <td>0.144677</td>\n", " <td>9.770821</td>\n", " <td>0.014318</td>\n", " <td>0.097115</td>\n", " <td>0.005321</td>\n", " <td>12.015045</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>0.057606</td>\n", " <td>105.528229</td>\n", " <td>0.186429</td>\n", " <td>0.144739</td>\n", " <td>9.774895</td>\n", " <td>0.019095</td>\n", " <td>0.129514</td>\n", " <td>0.005321</td>\n", " <td>12.020064</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>7978</th>\n", " <td>114.894689</td>\n", " <td>105.528229</td>\n", " <td>41.940538</td>\n", " <td>33.225022</td>\n", " <td>261.476633</td>\n", " <td>308.275963</td>\n", " <td>2090.915230</td>\n", " <td>0.005559</td>\n", " <td>335.913150</td>\n", " </tr>\n", " <tr>\n", " <th>7979</th>\n", " <td>114.909091</td>\n", " <td>105.528229</td>\n", " <td>43.473076</td>\n", " <td>34.439386</td>\n", " <td>261.581009</td>\n", " <td>308.409510</td>\n", " <td>2091.821024</td>\n", " <td>0.005559</td>\n", " <td>336.053471</td>\n", " </tr>\n", " <tr>\n", " <th>7980</th>\n", " <td>114.923492</td>\n", " <td>105.528229</td>\n", " <td>45.485687</td>\n", " <td>36.034088</td>\n", " <td>261.685424</td>\n", " <td>308.543112</td>\n", " <td>2092.727197</td>\n", " <td>0.005559</td>\n", " <td>336.193850</td>\n", " </tr>\n", " <tr>\n", " <th>7981</th>\n", " <td>114.937894</td>\n", " <td>105.528229</td>\n", " <td>48.427303</td>\n", " <td>38.364789</td>\n", " <td>261.789879</td>\n", " <td>308.676771</td>\n", " <td>2093.633748</td>\n", " <td>0.005559</td>\n", " <td>336.334288</td>\n", " </tr>\n", " <tr>\n", " <th>7982</th>\n", " <td>114.952295</td>\n", " <td>105.528229</td>\n", " <td>54.006048</td>\n", " <td>42.784718</td>\n", " <td>261.894374</td>\n", " <td>308.810484</td>\n", " <td>2094.540677</td>\n", " <td>0.005559</td>\n", " <td>336.474784</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>7983 rows × 9 columns</p>\n", "</div>" ], "text/plain": [ " Time [hr] Mixing Time [s] Required/Theoretical kLa [-] \\\n", "0 0.000000 105.528229 0.186109 \n", "1 0.014401 105.528229 0.186189 \n", "2 0.028803 105.528229 0.186269 \n", "3 0.043204 105.528229 0.186349 \n", "4 0.057606 105.528229 0.186429 \n", "... ... ... ... \n", "7978 114.894689 105.528229 41.940538 \n", "7979 114.909091 105.528229 43.473076 \n", "7980 114.923492 105.528229 45.485687 \n", "7981 114.937894 105.528229 48.427303 \n", "7982 114.952295 105.528229 54.006048 \n", "\n", " Required kLa * Mixing Time [-] pCO2 [mbar] Ammonia [mmol/L] \\\n", "0 0.144490 9.758607 0.000000 \n", "1 0.144553 9.762676 0.004771 \n", "2 0.144615 9.766748 0.009543 \n", "3 0.144677 9.770821 0.014318 \n", "4 0.144739 9.774895 0.019095 \n", "... ... ... ... \n", "7978 33.225022 261.476633 308.275963 \n", "7979 34.439386 261.581009 308.409510 \n", "7980 36.034088 261.685424 308.543112 \n", "7981 38.364789 261.789879 308.676771 \n", "7982 42.784718 261.894374 308.810484 \n", "\n", " Lactate [mmol/L] Superficial Gas Top [m/s] Cell Density [wet g/L] \n", "0 0.000000 0.005321 12.000000 \n", "1 0.032358 0.005321 12.005013 \n", "2 0.064730 0.005321 12.010028 \n", "3 0.097115 0.005321 12.015045 \n", "4 0.129514 0.005321 12.020064 \n", "... ... ... ... \n", "7978 2090.915230 0.005559 335.913150 \n", "7979 2091.821024 0.005559 336.053471 \n", "7980 2092.727197 0.005559 336.193850 \n", "7981 2093.633748 0.005559 336.334288 \n", "7982 2094.540677 0.005559 336.474784 \n", "\n", "[7983 rows x 9 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a" ] }, { "cell_type": "markdown", "id": "b4a8bf53-c9bb-49e1-9814-9ca3f545f298", "metadata": {}, "source": [ "-------------------------------------------------" ] }, { "cell_type": "markdown", "id": "d59385dd-64fb-49fa-8d4e-649dbabe25df", "metadata": {}, "source": [ "Look at constraints individually to see the limited yield for each of them. Output is in \\[wet g/L\\]." ] }, { "cell_type": "code", "execution_count": 6, "id": "791679e1-d9e5-413c-af6b-358140be7610", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'CO2': 124.89324158431478,\n", " 'O2': 57.43452616826011,\n", " 'Mixing': 71.03873428927064,\n", " 'Superficial Velocity Top': 336.4747844287421,\n", " 'Stress': 336.4747844287421,\n", " 'Ammonia': 17.257640701419593,\n", " 'Lactate': 19.749995716291345}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b" ] }, { "cell_type": "markdown", "id": "7b2c5d9b-bfe7-4bda-b442-27c6908daaab", "metadata": {}, "source": [ "--------------------------------------------------------" ] }, { "cell_type": "markdown", "id": "f5ffc3fc-8b59-4349-bbb6-2cc7670378eb", "metadata": {}, "source": [ "Plot key constraints against time, in the same format as Figure 2.7 (page 27) of https://doi.org/10.31224/osf.io/795su <br>\n", "Code modified from https://matplotlib.org/3.4.3/gallery/ticks_and_spines/multiple_yaxis_with_spines.html" ] }, { "cell_type": "code", "execution_count": 7, "id": "6fb87d72-963d-4db9-8740-721d84d471c3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2EAAAF5CAYAAAAWFiLgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACCeElEQVR4nO3dd3hU1dbH8e8QCCUJgQAJvSO9CQihI4KiKFzLa0Gl2EBAekeaNAEpCqIgAnpVrCheFQHpIogBpClIryF0SICEJOf9YxtCCjCTTHKSzO/zPOfJmVPXhAHOmr332g7LsixEREREREQkXWSzOwARERERERFPoiRMREREREQkHSkJExERERERSUdKwkRERERERNKRkjAREREREZF0pCRMREREREQkHSkJExERERERSUdKwkRERERERNKRkjAREREREZF0pCRMREREREQkHdmahJUuXRqHw5Fk6d69u51hiYiIiEgGM2r1KByjHQmWwlMK2x1Wuhg1ChyOhEvhm966ZZljihaF3LmheXPYtcumYN1t7Vp4+GHz5hwO+PbbhPudefORkdCzJxQsCD4+8MgjcOxYOr2B5NmahG3evJmTJ0/eWJYvXw7AE088YWdYIiIiIpIBVS1UlZP9Tt5YdnTbYXdI6aZqVTh5Mn7ZcdNbnzQJpk6FmTNh82aToLVqBZcv2xev20REQM2a5s0lx5k337s3LF4MixbB+vUQHg5t20JMTLq8heRkt+3OQKFChRK8njhxIuXKlaNZs2bJHh8REZHsdh8fH7fHJiIiIiJpKyLqFs923sk/22XPlp3Cvpm/9esWj7Tc7pE2e/aErV9xLAumT4dhw+DRR822hQshKAg+/RReeSXV4bqXq2++TRuzJMeZN3/xIsybBx9/DPfdZ47573+hRAlYsQLuvz9VbyelbE3CbhYVFcV///tf+vbti8PhSPYYX1/fZLfPnz+fihUrkj17hnk7IiIiInIbsbGxNPigARQmyROpNdJK9px/zv1D0beKkjN7TuoXq8/4luMpm79s2gfrRpZl4et7GfADHIn23fq8f/4xPe5y5oT69WH8eChbFg4ehNBQaN06/ticOaFZM9iwIWMlYZZlcdnXN5l3zu3f/K048+ZDQuD69YTHFC0K1aqZYzw9Cfv222+5cOECnTp1cvnczp07uz8gEREREUl7LwLF73xY/WL1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1ufAw3Tv3p2HHnqI++67L8F2fQ5EJKPKbncAKXHmzBliYmIICgpKsD0oKIjQ0FCbohK7xf3ZJ/e5OHz4sB0hSRqzLIu+ffvSuHFjqlWrBuhz4Gl27NhBcHAw165dw9fXl8WLF1OlSpUbD9j6HGR9ixYtYsuWLWzevDnJPv17ICIZVaZMwuI4HI4Ery3LSrJNPI8+F56jR48ebN++nfXr1yfZp8+BZ6hYsSLbtm3jwoULfP3113Ts2JE1a9bc2K/PQdZ29OhRevXqxbJly8iVK9ctj9PnQEQymkzZHbFgwYJ4eXklafUKCwtL8m2XeI7ChQsD6HPhIXr27MmSJUtYtWoVxYsXv7FdnwPP4u3tTfny5albty4TJkygZs2azJgxQ58DDxESEkJYWBh16tQhe/bsZM+enTVr1vD222+TPXv2G3/W+hyISEaTKZMwb29v6tSpw/LlyxNsX758OQ0bNrQpKrFbmTJlKFy4cILPRVRUFGvWrNHnIguxLIsePXrwzTffsHLlSsqUKZNgvz4Hns2yLCIjI/U58BAtW7Zkx44dbNu27cZSt25dOnTowLZt2yhbtqw+ByKSIWXa7oh9+/blueeeo27dugQHBzNnzhyOHDlC165d7Q5N0lB4eDj79u278frgwYNs27aNgIAASpYsSe/evRk/fjwVKlSgQoUKjB8/njx58vDMM8/YGLW4U/fu3fn000/57rvv8PPzu/ENt7+/P7lz574xR5A+B1nf0KFDadOmDSVKlODy5cssWrSI1atXs3TpUn0OPISfn9+N8aBxfHx8KFCgwI3t+hyISEaUaZOwJ598krNnzzJmzBhOnjxJtWrV+PHHHylVqpTdoUka+uOPP2jRosWN13379gWgY8eOLFiwgIEDB3L16lVeffVVzp8/T/369Vm2bBl+fn52hSxuNnv2bACaN2+eYPv8+fPp1KkTgD4HHuLUqVM899xznDx5En9/f2rUqMHSpUtp1aoVoM+BGPociEhG5LAsy7I7CBEREREREU+RKceEiYiIiIiIZFZKwkRERERERNKRkjAREREREZF0pCRMREREREQkHSkJExERERERSUdKwkRERERERNKRkjAREREREZF0pCRMREREREQkHSkJExFJgVGjRlGrVq10v+/q1atxOBw4HA7at29/Y3vz5s3p3bu32+8Xd698+fK5/doiIiKeSkmYiEgicYnHrZZOnTrRv39/fvnlF9ti3LNnDwsWLEjz+5w8eZLp06en+X1EREQ8SXa7AxARyWhOnjx5Y/3zzz9nxIgR7Nmz58a23Llz4+vri6+vrx3hARAYGJjq1qnr16+TI0eO2x5TuHBh/P39U3UfERERSUgtYSIiiRQuXPjG4u/vj8PhSLItcXfETp060b59e8aPH09QUBD58uVj9OjRREdHM2DAAAICAihevDgffvhhgnsdP36cJ598kvz581OgQAHatWvHoUOHUhR3bGwsAwcOJCAggMKFCzNq1KgE+x0OB++99x7t2rXDx8eHsWPHcv78eTp06EChQoXInTs3FSpUYP78+Sm6v4iIiDhHSZiIiJusXLmSEydOsHbtWqZOncqoUaNo27Yt+fPnZ9OmTXTt2pWuXbty9OhRAK5cuUKLFi3w9fVl7dq1rF+/Hl9fXx544AGioqJcvv/ChQvx8fFh06ZNTJo0iTFjxrB8+fIEx4wcOZJ27dqxY8cOunTpwuuvv87u3bv56aef+Ouvv5g9ezYFCxZ0y+9DREREkqfuiCIibhIQEMDbb79NtmzZqFixIpMmTeLKlSsMHToUgCFDhjBx4kR+/fVXnnrqKRYtWkS2bNn44IMPcDgcAMyfP598+fKxevVqWrdu7dL9a9SowciRIwGoUKECM2fO5JdffqFVq1Y3jnnmmWfo0qXLjddHjhyhdu3a1K1bF4DSpUun5lcgIiIiTlASJiLiJlWrViVbtvgOBkFBQVSrVu3Gay8vLwoUKEBYWBgAISEh7Nu3Dz8/vwTXuXbtGvv373f5/jVq1EjwukiRIjfuFScu2YrTrVs3HnvsMbZs2ULr1q1p3749DRs2dPneIiIi4jwlYSIibpK4yIXD4Uh2W2xsLGDGcNWpU4dPPvkkybUKFSrklvvH3SuOj49Pgtdt2rTh8OHD/PDDD6xYsYKWLVvSvXt3pkyZ4vL9RURExDlKwkREbHL33Xfz+eefExgYSN68eW2Lo1ChQnTq1IlOnTrRpEkTBgwYoCRMREQkDakwh4iITTp06EDBggVp164d69at4+DBg6xZs4ZevXpx7NixdIlhxIgRfPfdd+zbt49du3bxv//9j8qVK6fLvUVERDyVkjAREZvkyZOHtWvXUrJkSR599FEqV65Mly5duHr1arq1jHl7ezNkyBBq1KhB06ZN8fLyYtGiRelybxEREU/lsCzLsjsIERFxzurVq2nRogXnz59P9WTNzlqwYAG9e/fmwoUL6XI/ERGRrE5jwkREMqHixYvz8MMP89lnn6XpfXx9fYmOjiZXrlxpeh8RERFPopYwEZFM5OrVqxw/fhwwCVLhwoXT9H779u0DTHn9MmXKpOm9REREPIWSMBERERERkXSkwhwiIiIiIiLpSEmYiIiIiIhIOlISJiIiIiIiko6UhImIiIiIiKQjJWEiIiIiIiLpSEmYiIiIiIhIOlISJiIiIiIiko6UhImIiIiIiKSj/wd20OW5XIa5YQAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 1000x400 with 4 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10,4))\n", "fig.subplots_adjust(right=0.75)\n", "\n", "twin1 = ax.twinx()\n", "twin2 = ax.twinx()\n", "twin3 = ax.twinx()\n", "\n", "\n", "# Offset the right spine of twin2. The ticks and label have already been\n", "# placed on the right by twinx above.\n", "twin2.spines.right.set_position((\"axes\", 1.1))\n", "twin3.spines.right.set_position((\"axes\", 1.2))\n", "\n", "\n", "p1, = ax.plot(a['Time [hr]'],a['Cell Density [wet g/L]'], \"black\")\n", "p2, = twin1.plot(a['Time [hr]'],a['Ammonia [mmol/L]'], \"green\")\n", "p3, = twin2.plot(a['Time [hr]'],a['Lactate [mmol/L]'], \"blue\")\n", "p4, = twin3.plot(a['Time [hr]'],a['pCO2 [mbar]'], \"red\")\n", "\n", "ax.set_xlim(0, 48)\n", "ax.set_ylim(0, 7)\n", "twin1.set_ylim(0, 5)\n", "twin2.set_ylim(1, 50)\n", "twin3.set_ylim(0, 100)\n", "\n", "\n", "ax.set_xlabel(\"Time [hrs]\")\n", "ax.set_ylabel(\"Cell Density [wet g/L]\")\n", "twin1.set_ylabel(\"Ammonia [mmol/L]\")\n", "twin2.set_ylabel(\"Lactate [mmol/L]\")\n", "twin3.set_ylabel(\"pCO2 [mbar]\")\n", "\n", "\n", "ax.yaxis.label.set_color(p1.get_color())\n", "twin1.yaxis.label.set_color(p2.get_color())\n", "twin2.yaxis.label.set_color(p3.get_color())\n", "twin3.yaxis.label.set_color(p4.get_color())\n", "\n", "\n", "tkw = dict(size=4, width=1.5)\n", "ax.tick_params(axis='y', colors=p1.get_color(), **tkw)\n", "twin1.tick_params(axis='y', colors=p2.get_color(), **tkw)\n", "twin2.tick_params(axis='y', colors=p3.get_color(), **tkw)\n", "twin3.tick_params(axis='y', colors=p4.get_color(), **tkw)\n", "\n", "ax.tick_params(axis='x', **tkw)\n", "\n", "#ax.legend(handles=[p1, p2, p3])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "982a9210-4003-4ea8-b544-47fa5ba6d95b", "metadata": {}, "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.15" } }, "nbformat": 4, "nbformat_minor": 5 }