Updating figures.
This commit is contained in:
1 parent
fe64bb903a
commit
9e2f571306
12 files changed
+6029
-4050
No files matched your search
@@ -107,10 +107,10 @@
|
||||
"ax_1 = plt.axes([0.2, 0.2, 0.6, 0.6], frameon=True)\n",
|
||||
"ax_2 = plt.twinx(ax=ax_1)\n",
|
||||
"\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'red', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'black', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.set_ylabel(r'Ozone mole fraction $\\chi_{\\ce{O3}}$ $(\\text{ppb})$')\n",
|
||||
"\n",
|
||||
"ax_2.step(smps_analyser.data['Starting Time (-)'], smps_analyser.data['Mass Production Rate (kg/s)'], color='blue', linestyle='-', label=r'$\\accentset{*}{m}$')\n",
|
||||
"ax_2.step(smps_analyser.data['Starting Time (-)'], smps_analyser.data['Mass Production Rate (kg/s)'], color='red', linestyle='-', label=r'$\\accentset{*}{m}$')\n",
|
||||
"ax_2.set_ylabel(r'Mass flux $\\accentset{*}{m}$ $(\\unit{\\kilo\\gram\\per\\second})$')\n",
|
||||
"\n",
|
||||
"ax_1.vlines(ozon_analyser.on_time_interval, ymin=0, ymax=70000, colors='k', linestyles='--', linewidth=0.5)\n",
|
||||
@@ -124,7 +124,7 @@
|
||||
"lines_1, labels_1 = ax_1.get_legend_handles_labels()\n",
|
||||
"lines_2, labels_2 = ax_2.get_legend_handles_labels()\n",
|
||||
"\n",
|
||||
"ax_1.set_ylim([0, 70000])\n",
|
||||
"ax_1.set_ylim([0, 80000])\n",
|
||||
"ax_2.set_ylim([0, 5E-09])\n",
|
||||
"\n",
|
||||
"ax_1.legend(lines_1 + lines_2, labels_1 + labels_2, loc='upper right')\n",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -96,7 +96,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": null,
|
||||
"id": "99c569ff",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -107,7 +107,7 @@
|
||||
"ax_1 = plt.axes([0.2, 0.2, 0.6, 0.6], frameon=True)\n",
|
||||
"ax_2 = plt.twinx(ax=ax_1)\n",
|
||||
"\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'red', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'black', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.set_ylabel(r'Ozone mole fraction $\\chi_{\\ce{O3}}$ $(\\text{ppb})$')\n",
|
||||
"\n",
|
||||
"ax_2.step(smps_analyser.data['Starting Time (-)'], smps_analyser.data['Mass Production Rate (kg/s)'], color='blue', linestyle='-', label=r'$\\accentset{*}{m}$')\n",
|
||||
@@ -124,7 +124,7 @@
|
||||
"lines_1, labels_1 = ax_1.get_legend_handles_labels()\n",
|
||||
"lines_2, labels_2 = ax_2.get_legend_handles_labels()\n",
|
||||
"\n",
|
||||
"ax_1.set_ylim([0, 70000])\n",
|
||||
"ax_1.set_ylim([0, 80000])\n",
|
||||
"ax_2.set_ylim([0, 5E-09])\n",
|
||||
"\n",
|
||||
"ax_1.legend(lines_1 + lines_2, labels_1 + labels_2, loc='upper right')\n",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
+18
-17
@@ -69,26 +69,26 @@
|
||||
"# Linking to the data\n",
|
||||
"\n",
|
||||
"# Specify the source file paths to for SMPS data for the different filters used\n",
|
||||
"smps_analyser_01 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260902\\20260902_aPinene_SOA.txt\"),\n",
|
||||
" flow_source_file = Path(r\"Z:\\People\\David_Tschan\\OFR_SMPS\\flow_files\\20260902_SET02_EXP13_flow_file.txt\"),\n",
|
||||
" smpl_number_list = range(1, 60),\n",
|
||||
" on_time_interval = [pd.Timestamp('2026-09-02 09:52:00'), pd.Timestamp('2026-09-02 10:52:00')])\n",
|
||||
"smps_analyser_02 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260903\\20260903_aPinene_SOA.txt\"),\n",
|
||||
"smps_analyser_01 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260903\\20260903_aPinene_SOA.txt\"),\n",
|
||||
" flow_source_file = Path(r\"Z:\\People\\David_Tschan\\OFR_SMPS\\flow_files\\20260903_SET02_EXP14_flow_file.txt\"),\n",
|
||||
" smpl_number_list = range(1, 60),\n",
|
||||
" on_time_interval=[pd.Timestamp('2026-09-03 15:20:00'), pd.Timestamp('2026-09-03 16:20:00')])\n",
|
||||
"smps_analyser_03 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260904\\20260904_aPinene_SOA.txt\"),\n",
|
||||
"smps_analyser_02 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260904\\20260904_aPinene_SOA.txt\"),\n",
|
||||
" flow_source_file = Path(r\"Z:\\People\\David_Tschan\\OFR_SMPS\\flow_files\\20260904_SET02_EXP15_flow_file.txt\"),\n",
|
||||
" smpl_number_list = range(1, 60),\n",
|
||||
" on_time_interval = [pd.Timestamp('2026-09-04 13:22:00'), pd.Timestamp('2026-09-04 14:22:00')])\n",
|
||||
"smps_analyser_03 = OFRAnalyser(data_source_file = Path(r\"Z:\\Data\\SMPS\\processed\\2026\\09_September\\20260910\\20260910_aPinene_SOA.txt\"),\n",
|
||||
" flow_source_file = Path(r\"Z:\\People\\David_Tschan\\OFR_SMPS\\flow_files\\20260910_SET02_EXP16_flow_file.txt\"),\n",
|
||||
" smpl_number_list = range(1, 60),\n",
|
||||
" on_time_interval=[pd.Timestamp('2026-09-10 15:42:00'), pd.Timestamp('2026-09-10 16:42:00')])\n",
|
||||
"\n",
|
||||
"# Specify the source file paths to the API O3 monitor data for the different filters used\n",
|
||||
"ozon_analyser_01 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-02_09.01.11_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
"ozon_analyser_01 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-03_14.23.44_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
" on_time_interval=None)\n",
|
||||
"ozon_analyser_02 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-03_14.23.44_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
"ozon_analyser_02 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-04_12.28.13_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
" on_time_interval=None)\n",
|
||||
"ozon_analyser_03 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-04_12.28.13_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
" on_time_interval=None)"
|
||||
"ozon_analyser_03 = OzoneAnalyser(file = DATFile(file = Path(r\"Z:\\Data\\API_O3\\2026\\09_September\\2026-09-10_14.43.47_PC14750_API_O3.dat\"), data_name = 'ozone'),\n",
|
||||
" on_time_interval = [pd.Timestamp('2026-09-10 15:00:00'), pd.Timestamp('2026-09-04 17:12:00')])"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -104,7 +104,7 @@
|
||||
" smps_analyser.GetData()\n",
|
||||
" ozon_analyser.GetData()\n",
|
||||
"\n",
|
||||
" ozon_analyser.AverageWithSMPS(smps_analyser = smps_analyser, cut_edges = 2, subtract_baseline = ['yes', 1])"
|
||||
" ozon_analyser.AverageWithSMPS(smps_analyser = smps_analyser, cut_edges = 2, subtract_baseline = ['yes', 3])"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -127,7 +127,7 @@
|
||||
" marker = 'o',\n",
|
||||
" markersize = 2.5,\n",
|
||||
" markerfacecolor = 'red',\n",
|
||||
" label = r'Filter 1')\n",
|
||||
" label = r'Set 2 Exp. 14')\n",
|
||||
"\n",
|
||||
"ax.plot(ozon_analyser_02.averaged_data['Ozone (ppb)'] / 1000,\n",
|
||||
" ozon_analyser_02.averaged_data['Mass Production Rate (kg/s)'],\n",
|
||||
@@ -137,7 +137,7 @@
|
||||
" marker = 'd',\n",
|
||||
" markersize = 4,\n",
|
||||
" markerfacecolor = 'blue',\n",
|
||||
" label = 'Filter 2')\n",
|
||||
" label = 'Set 2 Exp. 15')\n",
|
||||
"\n",
|
||||
"ax.plot(ozon_analyser_03.averaged_data['Ozone (ppb)'] / 1000,\n",
|
||||
" ozon_analyser_03.averaged_data['Mass Production Rate (kg/s)'],\n",
|
||||
@@ -147,17 +147,18 @@
|
||||
" marker = 's',\n",
|
||||
" markersize = 2.5,\n",
|
||||
" markerfacecolor = 'green',\n",
|
||||
" label = 'Filter 3')\n",
|
||||
" label = 'Set 2 Exp. 16')\n",
|
||||
"\n",
|
||||
"#ax.set_yscale('log')\n",
|
||||
"\n",
|
||||
"ax.set_xlabel(r'Deviation from $\\ce{O3}$ baseline $\\Delta\\chi_{\\ce{O3}}$ $(\\unit{\\ppm})$')\n",
|
||||
"ax.set_ylabel(r'Mass flux $\\accentset{*}{m}$ $(\\unit{\\kilo\\gram\\per\\second})$')\n",
|
||||
"\n",
|
||||
"ax.set_ylim([0, 70000])\n",
|
||||
"ax.set_ylim([0, 5E-09])\n",
|
||||
"#ax.set_ylim([0, 70000])\n",
|
||||
"#ax.set_ylim([0, 5E-09])\n",
|
||||
"#ax.set_xlim([2, 12])\n",
|
||||
"\n",
|
||||
"ax.legend(loc='lower left')\n",
|
||||
"ax.legend(loc='upper right')\n",
|
||||
"\n",
|
||||
"#plt.show()\n",
|
||||
"plt.savefig(\"figure.pgf\", format='pgf', dpi=400)\n",
|
||||
File diff suppressed because it is too large.
Load diff
@@ -60,7 +60,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"execution_count": 3,
|
||||
"id": "429e1aed",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -80,7 +80,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"execution_count": 4,
|
||||
"id": "26333625",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -96,7 +96,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"execution_count": 5,
|
||||
"id": "99c569ff",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
@@ -107,10 +107,10 @@
|
||||
"ax_1 = plt.axes([0.2, 0.2, 0.6, 0.6], frameon=True)\n",
|
||||
"ax_2 = plt.twinx(ax=ax_1)\n",
|
||||
"\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'red', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.plot(ozon_analyser.file.data['timestamp'], ozon_analyser.file.data['ozone'], color = 'black', linestyle = '-.',label=r'$\\chi_{\\ce{O3}}$')\n",
|
||||
"ax_1.set_ylabel(r'Ozone mole fraction $\\chi_{\\ce{O3}}$ $(\\text{ppb})$')\n",
|
||||
"\n",
|
||||
"ax_2.step(smps_analyser.data['Starting Time (-)'], smps_analyser.data['Mass Production Rate (kg/s)'], color='blue', linestyle='-', label=r'$\\accentset{*}{m}$')\n",
|
||||
"ax_2.step(smps_analyser.data['Starting Time (-)'], smps_analyser.data['Mass Production Rate (kg/s)'], color='red', linestyle='-', label=r'$\\accentset{*}{m}$')\n",
|
||||
"ax_2.set_ylabel(r'Mass flux $\\accentset{*}{m}$ $(\\unit{\\kilo\\gram\\per\\second})$')\n",
|
||||
"\n",
|
||||
"ax_1.vlines(ozon_analyser.on_time_interval, ymin=0, ymax=70000, colors='k', linestyles='--', linewidth=0.5)\n",
|
||||
@@ -124,9 +124,8 @@
|
||||
"lines_1, labels_1 = ax_1.get_legend_handles_labels()\n",
|
||||
"lines_2, labels_2 = ax_2.get_legend_handles_labels()\n",
|
||||
"\n",
|
||||
"ax_1.set_ylim([0, 70000])\n",
|
||||
"#ax_2.set_ylim([0, 5E-09])\n",
|
||||
"ax_2.set_yscale('log')\n",
|
||||
"ax_1.set_ylim([0, 80000])\n",
|
||||
"ax_2.set_ylim([0, 5E-09])\n",
|
||||
"\n",
|
||||
"ax_1.legend(lines_1 + lines_2, labels_1 + labels_2, loc='upper right')\n",
|
||||
"\n",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,25 +1,27 @@
|
||||
METADATA
|
||||
----------------------------------------------------------------------
|
||||
Standard 2 mg / L TOC
|
||||
Standard Prep. Date 10.09.2026
|
||||
Measurement Date 10.09.2026
|
||||
Standard 2.00
|
||||
Unit mg/L
|
||||
Prepared 10.06.2026
|
||||
Measured 10.09.2026
|
||||
|
||||
CALIBRATION DATA
|
||||
conc. STD Dilution A1 A2 A3
|
||||
(mg / L) (-) (-) (-) (-)
|
||||
0.05 40.0 0.3451 0.3456 0.3914
|
||||
0.10 20.0 0.6457 0.6743 0.5987
|
||||
0.20 10.0 0.9987 1.0544 1.0343
|
||||
0.40 5.00 1.3654 1.4102 1.3862
|
||||
1.00 2.00 2.3302 2.2963 2.3417
|
||||
2.00 1.00 4.3698 4.1897 4.4005
|
||||
0.05 40.00 0.4019 0.9061 0.6915
|
||||
0.10 20.00 1.264 1.230 1.249
|
||||
0.20 10.00 1.909 2.049 2.005
|
||||
0.50 4.000 5.410 5.482 5.887
|
||||
0.70 2.857 7.544 8.078 7.808
|
||||
1.00 2.000 10.83 10.76 10.53
|
||||
2.00 1.000 21.69 21.67 0.03210
|
||||
|
||||
CALIBRATION RESULTS
|
||||
----------------------------------------------------------------------
|
||||
Slope 10.3656
|
||||
Intercept 0.33560
|
||||
R2 0.99740
|
||||
|
||||
FILE IC_Calibration.cal
|
||||
COMPUTED 10.09.2026 17:45:36
|
||||
----------------------------------------------------------------------
|
||||
Slope 0.1268
|
||||
Intercept -0.1197
|
||||
R2 0.9327
|
||||
EXCLUDED None
|
||||
FROM 0.0500
|
||||
TO 2.0000
|
||||
COMPUTED 11.09.2026 16:48:19
|
||||
@@ -1,25 +1,17 @@
|
||||
METADATA
|
||||
----------------------------------------------------------------------
|
||||
Standard 2 mg / L TOC
|
||||
Standard Prep. Date 10.09.2026
|
||||
Measurement Date 10.09.2026
|
||||
Standard 2.00
|
||||
Unit mg/L
|
||||
Prepared 10.06.2026
|
||||
Measured 10.09.2026
|
||||
|
||||
CALIBRATION DATA
|
||||
conc. STD Dilution A1 A2 A3
|
||||
(mg / L) (-) (-) (-) (-)
|
||||
0.05 40.0 0.3451 0.3456 0.3914
|
||||
0.10 20.0 0.6457 0.6743 0.5987
|
||||
0.20 10.0 0.9987 1.0544 1.0343
|
||||
0.40 5.00 1.3654 1.4102 1.3862
|
||||
1.00 2.00 2.3302 2.2963 2.3417
|
||||
2.00 1.00 4.3698 4.1897 4.4005
|
||||
|
||||
CALIBRATION RESULTS
|
||||
----------------------------------------------------------------------
|
||||
Slope 10.3656
|
||||
Intercept 0.33560
|
||||
R2 0.99740
|
||||
|
||||
FILE NPOC_Calibration.cal
|
||||
COMPUTED 10.09.2026 17:45:36
|
||||
----------------------------------------------------------------------
|
||||
0.05 40.00 0.4019 0.9061 0.6915
|
||||
0.10 20.00 1.264 1.230 1.249
|
||||
0.20 10.00 1.909 2.049 2.005
|
||||
0.50 4.000 5.410 5.482 5.887
|
||||
0.70 2.857 7.544 8.078 7.808
|
||||
1.00 2.000 10.83 10.76 10.53
|
||||
2.00 1.000 21.69 21.67 0.03210
|
||||
@@ -2,75 +2,128 @@
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"execution_count": 4,
|
||||
"id": "393a8a7f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from defs.TOC import TC_Calibration"
|
||||
"from defs.TOC import Calibration\n",
|
||||
"from pathlib import Path\n",
|
||||
"\n",
|
||||
"# Importing libraries required for plotting and exporting\n",
|
||||
"import matplotlib.pyplot as plt\n",
|
||||
"from matplotlib.dates import DateFormatter, HourLocator\n",
|
||||
"\n",
|
||||
"# Setting style of figures and backend\n",
|
||||
"import matplotlib\n",
|
||||
"matplotlib.use('pgf')\n",
|
||||
"plt.style.use(r'C:\\Users\\tschan_d\\Documents\\code\\.mplstyle')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "f2cf26e4",
|
||||
"execution_count": 5,
|
||||
"id": "3151288f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dilutions = [10, 7, 5, 3, 2]\n",
|
||||
"NPOCs = [7.136, 4.120, 3.552, 3.430, 3.255]"
|
||||
"# Configuring backend\n",
|
||||
"\n",
|
||||
"matplotlib.rcParams.update({'text.usetex': True,\n",
|
||||
" 'pgf.rcfonts': False,\n",
|
||||
" 'font.family': 'serif',\n",
|
||||
" 'font.serif': [],\n",
|
||||
" 'font.sans-serif': [],\n",
|
||||
" 'font.size': 8,\n",
|
||||
" 'legend.fontsize': 8,\n",
|
||||
" 'xtick.labelsize': 8,\n",
|
||||
" 'ytick.labelsize': 8,\n",
|
||||
" 'pgf.texsystem': r'lualatex',\n",
|
||||
" 'pgf.preamble': r'\\usepackage{unicode-math}' + \n",
|
||||
" r'\\usepackage{accents}' + \n",
|
||||
" r'\\usepackage{fontspec}' + \n",
|
||||
" r'\\usepackage[T1]{fontenc}' +\n",
|
||||
" r'\\usepackage{unicode-math}' +\n",
|
||||
" r'\\setmainfont{STIX Two Text}' +\n",
|
||||
" r'\\setmathfont{STIX Two Math}' + \n",
|
||||
" r'\\usepackage{siunitx}' + \n",
|
||||
" r'\\usepackage{mhchem}' + \n",
|
||||
" r'\\newcommand{\\der}[1]{\\ensuremath{\\textnormal{d}\\,{#1}}}'})"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"id": "d81f0103",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def fitfunc(x, a):\n",
|
||||
" return np.divide(a, x)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"id": "d8d8a1af",
|
||||
"execution_count": 7,
|
||||
"id": "ea0c4325",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" concentration dilution area_1 area_2 area_3 area_average\n",
|
||||
"0 0.05 40.000 0.4019 0.9061 0.6915 0.666500\n",
|
||||
"1 0.10 20.000 1.2640 1.2300 1.2490 1.247667\n",
|
||||
"2 0.20 10.000 1.9090 2.0490 2.0050 1.987667\n",
|
||||
"3 0.50 4.000 5.4100 5.4820 5.8870 5.593000\n",
|
||||
"4 0.70 2.857 7.5440 8.0780 7.8080 7.810000\n",
|
||||
"5 1.00 2.000 10.8300 10.7600 10.5300 10.706667\n",
|
||||
"6 2.00 1.000 21.6900 21.6700 0.0321 14.464033\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"C:\\Users\\tschan_d\\Documents\\code\\defs\\TOC.py:62: UserWarning: Calibration alreadyt exists, will be overwritten...\n",
|
||||
" warnings.warn(\"Calibration alreadyt exists, will be overwritten...\")\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"fig = plt.figure()\n",
|
||||
"ax = fig.add_subplot(111)\n",
|
||||
"calibration = Calibration(cal_file = Path(r\"C:\\Users\\tschan_d\\Documents\\analysis\\TOC_Analysis\\20260909\\IC_Calibration.cal\"))\n",
|
||||
"calibration.calibrate()\n",
|
||||
"\n",
|
||||
"parameter = curve_fit(fitfunc, xdata = [1 / dilution for dilution in dilutions], ydata=NPOCs, p0 = [7])\n",
|
||||
"xs = np.divide(1, np.linspace(start = 1, stop = 11, num = 1000))\n",
|
||||
"ys = fitfunc(xs, parameter[0][0])\n",
|
||||
"print(calibration.calibrant_data)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "00b59d82",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Creating figure\n",
|
||||
"\n",
|
||||
"ax.scatter([1 / dilution for dilution in dilutions], NPOCs)\n",
|
||||
"ax.plot(xs, ys, linestyle = '--')\n",
|
||||
"fig = plt.figure(figsize=(8.8 / 2.54, 5 / 2.54))\n",
|
||||
"ax_1 = plt.axes([0.2, 0.2, 0.6, 0.6], frameon=True)\n",
|
||||
"\n",
|
||||
"ax_1.plot(calibration.calibrant_data['area_average'], calibration.calibrant_data['concentration'], color = 'red',\n",
|
||||
" linestyle = 'None',\n",
|
||||
" marker = 'o',\n",
|
||||
" markersize = 2.5,\n",
|
||||
" markerfacecolor = 'red')\n",
|
||||
"\n",
|
||||
"ax.set_xlabel('1 / Dilution')\n",
|
||||
"ax.set_ylabel('NPOC (mg/L)')\n",
|
||||
"ax_1.plot([0, 17], calibration.compute([0, 17]), 'k')\n",
|
||||
"\n",
|
||||
"plt.show()"
|
||||
"ax_1.set_xlabel(r'Area $(-)$')\n",
|
||||
"ax_1.set_ylabel(r'Concentration $(\\unit{\\milli\\gram\\per\\liter})$')\n",
|
||||
"\n",
|
||||
"ax_1.set_xlim([0, 16])\n",
|
||||
"ax_1.set_ylim([0, 2.1])\n",
|
||||
"\n",
|
||||
"lines_1, labels_1 = ax_1.get_legend_handles_labels()\n",
|
||||
"\n",
|
||||
"#plt.show()\n",
|
||||
"plt.savefig(\"figure.pgf\", format='pgf', dpi=400)\n",
|
||||
"plt.close()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "00b59d82",
|
||||
"id": "0a5d7e8e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
|
||||
+1158
-1590
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user