diff --git a/Datasheets/Datasheets info.xlsx b/Datasheets/Datasheets info.xlsx deleted file mode 100644 index 56d77bb..0000000 Binary files a/Datasheets/Datasheets info.xlsx and /dev/null differ diff --git a/Datasheets/MQ131 - sensorsportal.pdf b/Datasheets/MQ131 - sensorsportal.pdf deleted file mode 100644 index c6412a5..0000000 Binary files a/Datasheets/MQ131 - sensorsportal.pdf and /dev/null differ diff --git a/Datasheets/MQ135 - Hanwei.pdf b/Datasheets/MQ135 - Hanwei.pdf deleted file mode 100644 index d30345a..0000000 Binary files a/Datasheets/MQ135 - Hanwei.pdf and /dev/null differ diff --git a/Datasheets/MQ2 - Pololulu.pdf b/Datasheets/MQ2 - Pololulu.pdf deleted file mode 100644 index dfd1e02..0000000 Binary files a/Datasheets/MQ2 - Pololulu.pdf and /dev/null differ diff --git a/Datasheets/MQ3 - Sparkfun.pdf b/Datasheets/MQ3 - Sparkfun.pdf deleted file mode 100644 index cebb56b..0000000 Binary files a/Datasheets/MQ3 - Sparkfun.pdf and /dev/null differ diff --git a/Datasheets/MQ303A - Hanwei.pdf b/Datasheets/MQ303A - Hanwei.pdf deleted file mode 100644 index 90b28cc..0000000 Binary files a/Datasheets/MQ303A - Hanwei.pdf and /dev/null differ diff --git a/Datasheets/MQ309A - Hanwei.pdf b/Datasheets/MQ309A - Hanwei.pdf deleted file mode 100644 index 5a7f8ad..0000000 Binary files a/Datasheets/MQ309A - Hanwei.pdf and /dev/null differ diff --git a/Datasheets/MQ4 - Sparkfun.pdf b/Datasheets/MQ4 - Sparkfun.pdf deleted file mode 100644 index 1bda875..0000000 Binary files a/Datasheets/MQ4 - Sparkfun.pdf and /dev/null differ diff --git a/Datasheets/MQ5 - Parallax.pdf b/Datasheets/MQ5 - Parallax.pdf deleted file mode 100644 index 028f80f..0000000 Binary files a/Datasheets/MQ5 - Parallax.pdf and /dev/null differ diff --git a/Datasheets/MQ6 - Sparkfun.pdf b/Datasheets/MQ6 - Sparkfun.pdf deleted file mode 100644 index e1846f3..0000000 Binary files a/Datasheets/MQ6 - Sparkfun.pdf and /dev/null differ diff --git a/Datasheets/MQ7 - Sparkfun.pdf b/Datasheets/MQ7 - Sparkfun.pdf deleted file mode 100644 index 6066c2f..0000000 Binary files a/Datasheets/MQ7 - Sparkfun.pdf and /dev/null differ diff --git a/Datasheets/MQ8 - Sparkfun.pdf b/Datasheets/MQ8 - Sparkfun.pdf deleted file mode 100644 index 29892b0..0000000 Binary files a/Datasheets/MQ8 - Sparkfun.pdf and /dev/null differ diff --git a/Datasheets/MQ9 - Hanwei.pdf b/Datasheets/MQ9 - Hanwei.pdf deleted file mode 100644 index 358ac9c..0000000 Binary files a/Datasheets/MQ9 - Hanwei.pdf and /dev/null differ diff --git a/Docs/pruebaSerial1Sensor.txt b/Docs/pruebaSerial1Sensor.txt deleted file mode 100644 index e678e51..0000000 --- a/Docs/pruebaSerial1Sensor.txt +++ /dev/null @@ -1,24 +0,0 @@ -************************************************************************************************************************************************ -MQ sensor reading library for arduino - -Note: remember that all the parameters below can be modified during the program execution with the methods: -setR0, setRL, setA, setB where you will have to send as parameter the new value, example: MQ4.setR0(20); //R0 = 20K - -Authors: Miguel A. Califa U - Yersson R. Carrillo A - Ghiordy F. Contreras C -Contributors: Andres A. Martinez - Juan A. Rodríguez - Mario A. Rodríguez O - -Sensor: MQ-4 -Supply voltage: 5V -R0: - Sin determinar - -RL: 10KOhm -Model: Logarithmic regression with parameters. -a = 10000 | b = 50000 -Development board: Arduino - -|ADC_In | Equation_V_ADC | Voltage_ADC | Equation_R | Resistance_RS | EQ_Ratio | Ratio (RS/R0) | Equation_PPM | PPM | -*********************************************************************************************************************************************** -| 224 | v = ADC*5/1024 | 1.09375 | RS = ((5*RL)/Voltage) - RL| RS = 1.07K | Ratio = RS/R0| Ratio = .123K | a*ratio^b | 100000 PPM | -| 224 | v = ADC*5/1024 | 1.09375 | RS = ((5*RL)/Voltage) - RL| RS = 1.07K | Ratio = RS/R0| Ratio = .123K | a*ratio^b | 100000 PPM | -| 224 | v = ADC*5/1024 | 1.09375 | RS = ((5*RL)/Voltage) - RL| RS = 1.07K | Ratio = RS/R0| Ratio = .123K | a*ratio^b | 100000 PPM | -| 224 | v = ADC*5/1024 | 1.09375 | RS = ((5*RL)/Voltage) - RL| RS = 1.07K | Ratio = RS/R0| Ratio = .123K | a*ratio^b | 100000 PPM | -| 224 | v = ADC*5/1024 | 1.09375 | RS = ((5*RL)/Voltage) - RL| RS = 1.07K | Ratio = RS/R0| Ratio = .123K | a*ratio^b | 100000 PPM | diff --git a/Docs/pruebaSerialVariosSensores.txt b/Docs/pruebaSerialVariosSensores.txt deleted file mode 100644 index d5b33d1..0000000 --- a/Docs/pruebaSerialVariosSensores.txt +++ /dev/null @@ -1,24 +0,0 @@ -************************************************************************************************************************************************ -MQ sensor reading library for arduino - -Note: remember that all the parameters below can be modified during the program execution with the methods: -setR0, setRL, setA, setB where you will have to send as parameter the new value, example: MQ4.setR0(20); //R0 = 20K - -Authors: Miguel A. Califa U - Yersson R. Carrillo A - Ghiordy F. Contreras C -Contributors: Andres A. Martinez - Juan A. Rodríguez - Mario A. Rodríguez O - -Sensor: MQ-4 | MQ-5 -Supply voltage: 5V -R0: - Sin determinar - -RL: 10KOhm - -Model: Logarithmic regression with parameters. -MQ-4: a = 10000 | b = 50000 -MQ-5: a = 10000 | b = 50000 - -Development board: Arduino - -|---------- MQ-4 ----------|---------- MQ-5 ----------| -|ADC_In | Voltage_ADC | Resistance_RS | Ratio (RS/R0) | PPM |ADC_In | Voltage_ADC | Resistance_RS | Ratio (RS/R0) | PPM | -***************************************************************************************************************************************** -| 224 | 1.09375 | RS = 1.07K | Ratio = .123K | 100000 PPM | 224 | 1.09375 | RS = 1.07K | Ratio = .123K | 100000 PPM | diff --git a/Internal_design_documents/Datasheet Graphs.docx b/Internal_design_documents/Datasheet Graphs.docx deleted file mode 100644 index 82d1fa2..0000000 Binary files a/Internal_design_documents/Datasheet Graphs.docx and /dev/null differ diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/Experiment 3-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/Experiment 3-checkpoint.ipynb deleted file mode 100644 index acc8469..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/Experiment 3-checkpoint.ipynb +++ /dev/null @@ -1,4924 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Este experimento fue realizado despues de +48 horas de precalentamiento.\n", - "## El objetivo fue determinar R0 de forma practica en un espacio con aire limpio.\n", - "### Por ello fue durante las horas de la noche." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "install xlrd library" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!pip install pandas\n", - "!pip install xlrd" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Experimento 3 - 1 de Junio.xlsx\")\n", - "sheet = book.sheet_by_name(\"Experimento 3 - 1 de Junio\")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0 11.00 4.00 50.00 72.00 14.00 4.00 1.00 9.00\n", - "2.0 11.00 4.00 51.00 72.00 13.00 4.00 1.00 8.00\n", - "3.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "4.0 10.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "5.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "6.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "7.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "8.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 9.00\n", - "9.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 9.00\n", - "10.0 11.00 4.00 52.00 73.00 14.00 4.00 1.00 9.00\n", - "11.0 11.00 4.00 52.00 73.00 13.00 4.00 1.00 9.00\n", - "12.0 10.00 4.00 51.00 72.00 13.00 4.00 1.00 9.00\n", - "13.0 10.00 4.00 50.00 71.00 13.00 4.00 1.00 9.00\n", - "14.0 10.00 4.00 50.00 70.00 13.00 4.00 1.00 9.00\n", - "15.0 10.00 4.00 50.00 71.00 13.00 4.00 1.00 9.00\n" - ] - } - ], - "source": [ - "for row_index in range(5,20): #reading first columns\n", - " id, MQ2_R0, MQ3_R0, MQ4_R0, MQ5_R0, MQ6_R0, MQ7_R0, MQ8_R0, MQ9_R0, MQ2_Vm, MQ3_Vm, MQ4_Vm, MQ5_Vm, MQ6_Vm, MQ7_Vm, MQ8_Vm, MQ9_Vm = sheet.row_values(row_index)\n", - " print(id, MQ2_R0, MQ3_R0, MQ4_R0, MQ5_R0, MQ6_R0, MQ7_R0, MQ8_R0, MQ9_R0)\n", - "x = sheet.col_values(0)[5:]\n", - "MQ2_R0 = sheet.col_values(1)[5:]\n", - "MQ3_R0 = sheet.col_values(2)[5:]\n", - "MQ4_R0 = sheet.col_values(3)[5:]\n", - "MQ5_R0 = sheet.col_values(4)[5:]\n", - "MQ6_R0 = sheet.col_values(5)[5:]\n", - "MQ7_R0 = sheet.col_values(6)[5:]\n", - "MQ8_R0 = sheet.col_values(7)[5:]\n", - "MQ9_R0 = sheet.col_values(8)[5:]" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(18.5, 10.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(x,MQ2_R0, marker='o', linewidth=1, label='MQ2')\n", - "plt.plot(x, MQ3_R0, marker='o', linewidth=1, label='MQ3')\n", - "plt.plot(x, MQ4_R0, marker='o', linewidth=1, label='MQ4')\n", - "plt.plot(x, MQ5_R0, marker='o', linewidth=1, label='MQ5')\n", - "plt.plot(x, MQ6_R0, marker='o', linewidth=1, label='MQ6')\n", - "plt.plot(x, MQ7_R0, marker='o', linewidth=1, label='MQ7')\n", - "plt.plot(x, MQ8_R0, marker='o', linewidth=1, label='MQ8')\n", - "plt.plot(x, MQ9_R0, marker='o', linewidth=1, label='MQ9')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "fig.suptitle('Calibration plot for MQ data')\n", - "ax.set_xlabel('Samples')\n", - "ax.set_ylabel('R0 (Kohms)')\n", - "plt.legend()\n", - "plt.savefig('demo1.svg')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/LinearRegression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/LinearRegression-checkpoint.ipynb deleted file mode 100644 index 2fd6442..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/LinearRegression-checkpoint.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ131_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ131_Regression-checkpoint.ipynb deleted file mode 100644 index 2e5152f..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ131_Regression-checkpoint.ipynb +++ /dev/null @@ -1,1705 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \n", - "0.2 \t \t \t \n", - "0.3 \t \t \t \n", - "0.4 \t \t \t \n", - "0.5 \t \t \t 100.0\n", - "0.6 \t \t \t \n", - "0.7 \t \t \t \n", - "0.8 \t \t \t \n", - "0.9 \t \t \t \n", - "1.0 \t \t 50.0 \t \n", - "2.0 \t \t \t 20.0\n", - "3.0 \t 100.0 \t \t \n", - "4.0 \t \t \t \n", - "5.0 \t \t \t \n", - "6.0 \t \t 10.0 \t 5.0\n", - "7.0 \t 10.0 \t \t \n", - "8.0 \t \t 5.0 \t \n", - "9.0 \t 5.0 \t \t \n", - "10.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Nox, CL2, O3 = sheetMQ131.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", Nox, \"\t\", CL2, \"\t\", O3)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ131 = sheetMQ131.col_values(0)[2:]\n", - "MQ131_Nox = sheetMQ131.col_values(1)[2:]\n", - "MQ131_CL2 = sheetMQ131.col_values(2)[2:]\n", - "MQ131_O3 = sheetMQ131.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "MQ131_Nox =zero_to_nan(MQ131_Nox)\n", - "MQ131_CL2 =zero_to_nan(MQ131_CL2)\n", - "MQ131_O3 =zero_to_nan(MQ131_O3)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataNox = {'RsRo': x_MQ131, 'Nox': MQ131_Nox}\n", - "dataCL2 = {'RsRo': x_MQ131, 'CL2': MQ131_CL2}\n", - "dataO3 = {'RsRo': x_MQ131, 'O3': MQ131_O3}\n", - "\n", - "dfMQ131_Nox = pd.DataFrame(dataNox)\n", - "dfMQ131_CL2 = pd.DataFrame(dataCL2)\n", - "dfMQ131_O3 = pd.DataFrame(dataO3)\n", - "\n", - "dfMQ131_Nox['Nox'] = pd.to_numeric(dfMQ131_Nox['Nox'])\n", - "dfMQ131_CL2['CL2'] = pd.to_numeric(dfMQ131_CL2['CL2'])\n", - "dfMQ131_O3['O3'] = pd.to_numeric(dfMQ131_O3['O3'])\n", - "\n", - "dfMQ131_Nox['Nox'] = dfMQ131_Nox['Nox'].replace('',None, regex=True)\n", - "dfMQ131_CL2['CL2'] = dfMQ131_CL2['CL2'].replace('',None, regex=True)\n", - "dfMQ131_O3['O3'] = dfMQ131_O3['O3'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ131_Nox.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Nox\n", - "dataset2TrainNox = dfMQ131_Nox.copy()\n", - "dataset2TrainNox.dropna(inplace=True)\n", - "X_trainNox = dataset2TrainNox.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainNox = dataset2TrainNox['Nox'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainNox, y_trainNox)\n", - "#Predict\n", - "Nox_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_Nox = Nox_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CL2\n", - "dataset2TrainCL2 = dfMQ131_CL2.copy()\n", - "dataset2TrainCL2.dropna(inplace=True)\n", - "X_trainCL2 = dataset2TrainCL2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCL2 = dataset2TrainCL2['CL2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCL2, y_trainCL2)\n", - "#Predict\n", - "CL2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_CL2 = CL2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train O3\n", - "dataset2TrainO3 = dfMQ131_O3.copy()\n", - "dataset2TrainO3.dropna(inplace=True)\n", - "X_trainO3 = dataset2TrainO3.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainO3 = dataset2TrainO3['O3'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainO3, y_trainO3)\n", - "#Predict\n", - "O3_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_O3 = O3_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ131_Nox, x_MQ131, marker='o', linewidth=1, label='Nox')\n", - "plt.plot(MQ131_CL2, x_MQ131, marker='o', linewidth=1, label='CL2')\n", - "plt.plot(MQ131_O3, x_MQ131, marker='o', linewidth=1, label='O3')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-131 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ131.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ131.png')\n", - "plt.savefig('MQ131.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ135_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ135_Regression-checkpoint.ipynb deleted file mode 100644 index 636d956..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ135_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2061 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \t \n", - "0.6 \t \t \t \t \t 200.0 \t 200.0\n", - "0.7 \t \t \t 200.0 \t \t \t 100.0\n", - "0.8 \t 200.0 \t \t \t 200.0 \t 100.0 \t \n", - "0.9 \t \t \t 100.0 \t \t \t \n", - "1.0 \t 100.0 \t 200.0 \t \t 100.0 \t 10.0 \t 10.0\n", - "2.0 \t 10.0 \t \t 10.0 \t \t \t \n", - "3.0 \t \t 10.0 \t \t 10.0 \t \t \n", - "4.0 \t \t \t \t \t \t \n", - "5.0 \t \t \t \t \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n", - "10.0 \t \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CO2, CO, Alcohol, NH4, Tolueno, Acetona = sheetMQ135.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", CO2, \"\t\", CO, \"\t\", Alcohol, \"\t\", NH4, \"\t\", Tolueno, \"\t\", Acetona)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ135 = sheetMQ135.col_values(0)[2:]\n", - "MQ135_CO2 = sheetMQ135.col_values(1)[2:]\n", - "MQ135_CO = sheetMQ135.col_values(2)[2:]\n", - "MQ135_Alcohol = sheetMQ135.col_values(3)[2:]\n", - "MQ135_NH4 = sheetMQ135.col_values(4)[2:]\n", - "MQ135_Tolueno = sheetMQ135.col_values(5)[2:]\n", - "MQ135_Acetona = sheetMQ135.col_values(6)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "MQ135_CO2 =zero_to_nan(MQ135_CO2)\n", - "MQ135_CO =zero_to_nan(MQ135_CO)\n", - "MQ135_Alcohol =zero_to_nan(MQ135_Alcohol)\n", - "MQ135_NH4 =zero_to_nan(MQ135_NH4)\n", - "MQ135_Tolueno =zero_to_nan(MQ135_Tolueno)\n", - "MQ135_Acetona =zero_to_nan(MQ135_Acetona)" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCO2 = {'RsRo': x_MQ135, 'CO2': MQ135_CO2}\n", - "dataCO = {'RsRo': x_MQ135, 'CO': MQ135_CO}\n", - "dataAlcohol = {'RsRo': x_MQ135, 'Alcohol': MQ135_Alcohol}\n", - "dataNH4 = {'RsRo': x_MQ135, 'NH4': MQ135_NH4}\n", - "dataTolueno = {'RsRo': x_MQ135, 'Tolueno': MQ135_Tolueno}\n", - "dataAcetona = {'RsRo': x_MQ135, 'Acetona': MQ135_Acetona}\n", - "\n", - "dfMQ135_CO2 = pd.DataFrame(dataCO2)\n", - "dfMQ135_CO = pd.DataFrame(dataCO)\n", - "dfMQ135_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ135_NH4 = pd.DataFrame(dataNH4)\n", - "dfMQ135_Tolueno = pd.DataFrame(dataTolueno)\n", - "dfMQ135_Acetona = pd.DataFrame(dataAcetona)\n", - "\n", - "dfMQ135_CO2['CO2'] = pd.to_numeric(dfMQ135_CO2['CO2'])\n", - "dfMQ135_CO['CO'] = pd.to_numeric(dfMQ135_CO['CO'])\n", - "dfMQ135_Alcohol['Alcohol'] = pd.to_numeric(dfMQ135_Alcohol['Alcohol'])\n", - "dfMQ135_NH4['NH4'] = pd.to_numeric(dfMQ135_NH4['NH4'])\n", - "dfMQ135_Tolueno['Tolueno'] = pd.to_numeric(dfMQ135_Tolueno['Tolueno'])\n", - "dfMQ135_Acetona['Acetona'] = pd.to_numeric(dfMQ135_Acetona['Acetona'])\n", - "\n", - "dfMQ135_CO2['CO2'] = dfMQ135_CO2['CO2'].replace('',None, regex=True)\n", - "dfMQ135_CO['CO'] = dfMQ135_CO['CO'].replace('',None, regex=True)\n", - "dfMQ135_Alcohol['Alcohol'] = dfMQ135_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ135_NH4['NH4'] = dfMQ135_NH4['NH4'].replace('',None, regex=True)\n", - "dfMQ135_Tolueno['Tolueno'] = dfMQ135_Tolueno['Tolueno'].replace('',None, regex=True)\n", - "dfMQ135_Acetona['Acetona'] = dfMQ135_Acetona['Acetona'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ135_CO2.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO2\n", - "dataset2TrainCO2 = dfMQ135_CO2.copy()\n", - "dataset2TrainCO2.dropna(inplace=True)\n", - "X_trainCO2 = dataset2TrainCO2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO2 = dataset2TrainCO2['CO2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO2, y_trainCO2)\n", - "#Predict\n", - "CO2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_CO2 = CO2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ135_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ135_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train NH4\n", - "dataset2TrainNH4 = dfMQ135_NH4.copy()\n", - "dataset2TrainNH4.dropna(inplace=True)\n", - "X_trainNH4 = dataset2TrainNH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainNH4 = dataset2TrainNH4['NH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainNH4, y_trainNH4)\n", - "#Predict\n", - "NH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_NH4 = NH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Tolueno\n", - "dataset2TrainTolueno = dfMQ135_Tolueno.copy()\n", - "dataset2TrainTolueno.dropna(inplace=True)\n", - "X_trainTolueno = dataset2TrainTolueno.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainTolueno = dataset2TrainTolueno['Tolueno'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainTolueno, y_trainTolueno)\n", - "#Predict\n", - "Tolueno_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Tolueno = Tolueno_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Acetona\n", - "dataset2TrainAcetona = dfMQ135_Acetona.copy()\n", - "dataset2TrainAcetona.dropna(inplace=True)\n", - "X_trainAcetona = dataset2TrainAcetona.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAcetona = dataset2TrainAcetona['Acetona'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAcetona, y_trainAcetona)\n", - "#Predict\n", - "Acetona_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Acetona = Acetona_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ135_CO2, x_MQ135, marker='o', linewidth=1, label='CO2')\n", - "plt.plot(MQ135_CO, x_MQ135, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ135_Alcohol, x_MQ135, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ135_NH4, x_MQ135, marker='o', linewidth=1, label='NH4')\n", - "plt.plot(MQ135_Tolueno, x_MQ135, marker='o', linewidth=1, label='Tolueno')\n", - "plt.plot(MQ135_Acetona, x_MQ135, marker='o', linewidth=1, label='Acetona')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-135 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ135.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ135.png')\n", - "plt.savefig('MQ135.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ2_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ2_Regression-checkpoint.ipynb deleted file mode 100644 index 15730f6..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ2_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2050 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "RS/R0 \t H2 \t LPG \t CH4 \t CO \t Alcohol \t Propane\n", - "0.1 \t \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \t \n", - "0.6 \t \t 2000.0 \t \t \t \t 2000.0\n", - "0.7 \t 2100.0 \t \t \t \t \t \n", - "0.8 \t \t 1000.0 \t \t \t \t 1000.0\n", - "0.9 \t \t 800.0 \t 5000.0 \t \t 5000.0 \t 800.0\n", - "1.0 \t 1000.0 \t \t \t \t \t \n", - "2.0 \t 201.0 \t \t 800.0 \t \t 500.0 \t \n", - "3.0 \t \t \t 200.0 \t 1000.0 \t 200.0 \t \n", - "4.0 \t \t \t \t 500.0 \t \t \n", - "5.0 \t \t \t \t 200.0 \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG, CH4, CO, Alcohol, propane = sheetMQ2.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", H2, \"\t\", LPG, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol, \"\t\", propane)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ2 = sheetMQ2.col_values(0)[2:]\n", - "MQ2_H2 = sheetMQ2.col_values(1)[2:]\n", - "MQ2_LPG = sheetMQ2.col_values(2)[2:]\n", - "MQ2_CH4 = sheetMQ2.col_values(3)[2:]\n", - "MQ2_CO = sheetMQ2.col_values(4)[2:]\n", - "MQ2_Alcohol = sheetMQ2.col_values(5)[2:]\n", - "MQ2_propane = sheetMQ2.col_values(6)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [], - "source": [ - "MQ2_H2 =zero_to_nan(MQ2_H2)\n", - "MQ2_LPG =zero_to_nan(MQ2_LPG)\n", - "MQ2_CH4 =zero_to_nan(MQ2_CH4)\n", - "MQ2_CO =zero_to_nan(MQ2_CO)\n", - "MQ2_Alcohol =zero_to_nan(MQ2_Alcohol)\n", - "MQ2_propane =zero_to_nan(MQ2_propane)" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ2, 'H2': MQ2_H2}\n", - "dataLPG = {'RsRo': x_MQ2, 'LPG': MQ2_LPG}\n", - "dataCH4 = {'RsRo': x_MQ2, 'CH4': MQ2_CH4}\n", - "dataCO = {'RsRo': x_MQ2, 'CO': MQ2_CO}\n", - "dataAlcohol = {'RsRo': x_MQ2, 'Alcohol': MQ2_Alcohol}\n", - "dataPropane = {'RsRo': x_MQ2, 'Propane': MQ2_propane}\n", - "\n", - "dfMQ2_H2 = pd.DataFrame(dataH2)\n", - "dfMQ2_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ2_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ2_CO = pd.DataFrame(dataCO)\n", - "dfMQ2_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ2_Propane = pd.DataFrame(dataPropane)\n", - "\n", - "dfMQ2_H2['H2'] = pd.to_numeric(dfMQ2_H2['H2'])\n", - "dfMQ2_LPG['LPG'] = pd.to_numeric(dfMQ2_LPG['LPG'])\n", - "dfMQ2_CH4['CH4'] = pd.to_numeric(dfMQ2_CH4['CH4'])\n", - "dfMQ2_CO['CO'] = pd.to_numeric(dfMQ2_CO['CO'])\n", - "dfMQ2_Alcohol['Alcohol'] = pd.to_numeric(dfMQ2_Alcohol['Alcohol'])\n", - "dfMQ2_Propane['Propane'] = pd.to_numeric(dfMQ2_Propane['Propane'])\n", - "\n", - "dfMQ2_H2['H2'] = dfMQ2_H2['H2'].replace('',None, regex=True)\n", - "dfMQ2_LPG['LPG'] = dfMQ2_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ2_CH4['CH4'] = dfMQ2_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ2_CO['CO'] = dfMQ2_CO['CO'].replace('',None, regex=True)\n", - "dfMQ2_Alcohol['Alcohol'] = dfMQ2_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ2_Propane['Propane'] = dfMQ2_Propane['Propane'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ2_H2.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainH2 = dfMQ2_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_H2 = H2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainLPG = dfMQ2_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainCH4 = dfMQ2_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainCO = dfMQ2_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainAlcohol = dfMQ2_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainPropane = dfMQ2_Propane.copy()\n", - "dataset2TrainPropane.dropna(inplace=True)\n", - "X_trainPropane = dataset2TrainPropane.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainPropane = dataset2TrainPropane['Propane'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainPropane, y_trainPropane)\n", - "#Predict\n", - "Propane_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_propane = Propane_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ2_H2, x_MQ2, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ2_LPG, x_MQ2, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ2_CH4, x_MQ2, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ2_CO, x_MQ2, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ2_Alcohol, x_MQ2, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ2_propane, x_MQ2, marker='o', linewidth=1, label='Propane')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-2 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ2.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ2.png')\n", - "plt.savefig('MQ2.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ303_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ303_Regression-checkpoint.ipynb deleted file mode 100644 index 8791c7d..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ303_Regression-checkpoint.ipynb +++ /dev/null @@ -1,1827 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \n", - "0.02 \t \t \t \n", - "0.03 \t \t \t \n", - "0.04 \t \t \t \n", - "0.05 \t \t \t \n", - "0.06 \t \t \t \n", - "0.07 \t \t \t \n", - "0.08 \t \t \t \n", - "0.09 \t \t \t \n", - "0.1 \t 3000.0 \t \t 1000.0\n", - "0.2 \t \t 300.0 \t \n", - "0.3 \t 300.0 \t 100.0 \t \n", - "0.4 \t 100.0 \t \t 30.0\n", - "0.5 \t \t \t \n", - "0.6 \t \t \t 10.0\n", - "0.7 \t \t \t \n", - "0.8 \t \t 10.0 \t \n", - "0.9 \t \t \t \n", - "1.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Iso_butano, Hidrogeno , Alcohol = sheetMQ303A.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", Iso_butano, \"\t\", Hidrogeno, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ303A = sheetMQ303A.col_values(0)[2:]\n", - "MQ303A_Iso_butano = sheetMQ303A.col_values(1)[2:]\n", - "MQ303A_Hidrogeno = sheetMQ303A.col_values(2)[2:]\n", - "MQ303A_Alcohol = sheetMQ303A.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "MQ303A_Iso_butano =zero_to_nan(MQ303A_Iso_butano)\n", - "MQ303A_Hidrogeno =zero_to_nan(MQ303A_Hidrogeno)\n", - "MQ303A_Alcohol =zero_to_nan(MQ303A_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataIso_Butano = {'RsRo': x_MQ303A, 'Iso_Butano': MQ303A_Iso_butano}\n", - "dataHidrogeno = {'RsRo': x_MQ303A, 'Hidrogeno': MQ303A_Hidrogeno}\n", - "dataAlcohol = {'RsRo': x_MQ303A, 'Alcohol': MQ303A_Alcohol}\n", - "\n", - "dfMQ303A_Iso_Butano = pd.DataFrame(dataIso_Butano)\n", - "dfMQ303A_Hidrogeno = pd.DataFrame(dataHidrogeno)\n", - "dfMQ303A_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ303A_Iso_Butano['Iso_Butano'] = pd.to_numeric(dfMQ303A_Iso_Butano['Iso_Butano'])\n", - "dfMQ303A_Hidrogeno['Hidrogeno'] = pd.to_numeric(dfMQ303A_Hidrogeno['Hidrogeno'])\n", - "dfMQ303A_Alcohol['Alchol'] = pd.to_numeric(dfMQ303A_Alcohol['Alcohol'])\n", - "\n", - "dfMQ303A_Iso_Butano['Iso_Butano'] = dfMQ303A_Iso_Butano['Iso_Butano'].replace('',None, regex=True)\n", - "dfMQ303A_Hidrogeno['Hidrogeno'] = dfMQ303A_Hidrogeno['Hidrogeno'].replace('',None, regex=True)\n", - "dfMQ303A_Alcohol['Alchol'] = dfMQ303A_Alcohol['Alchol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ303A_Iso_Butano.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Iso-Butano\n", - "dataset2TrainIso_Butano = dfMQ303A_Iso_Butano.copy()\n", - "dataset2TrainIso_Butano.dropna(inplace=True)\n", - "X_trainIso_Butano = dataset2TrainIso_Butano.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainIso_Butano = dataset2TrainIso_Butano['Iso_Butano'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainIso_Butano, y_trainIso_Butano)\n", - "#Predict\n", - "Iso_Butano_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Iso_Butano = Iso_Butano_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Hidrogeno\n", - "dataset2TrainHidrogeno = dfMQ303A_Hidrogeno.copy()\n", - "dataset2TrainHidrogeno.dropna(inplace=True)\n", - "X_trainHidrogeno = dataset2TrainHidrogeno.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainHidrogeno = dataset2TrainHidrogeno['Hidrogeno'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainHidrogeno, y_trainHidrogeno)\n", - "#Predict\n", - "Hidrogeno_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Hidrogeno = Hidrogeno_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alchol\n", - "dataset2TrainAlchol = dfMQ303A_Alcohol.copy()\n", - "dataset2TrainAlchol.dropna(inplace=True)\n", - "X_trainAlchol = dataset2TrainAlchol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlchol = dataset2TrainAlchol['Alchol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlchol, y_trainAlchol)\n", - "#Predict\n", - "Alchol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Alchol = Alchol_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ303A_Iso_Butano, x_MQ303A, marker='o', linewidth=1, label='Iso-Butano')\n", - "plt.plot(MQ303A_Hidrogeno, x_MQ303A, marker='o', linewidth=1, label='Hidrogeno')\n", - "plt.plot(MQ303A_Alchol, x_MQ303A, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-303A data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ303A.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ303A.png')\n", - "plt.savefig('MQ303A.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ309_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ309_Regression-checkpoint.ipynb deleted file mode 100644 index e215a7f..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ309_Regression-checkpoint.ipynb +++ /dev/null @@ -1,1877 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t \t \t \n", - "0.3 \t 7000.0 \t \t \t \n", - "0.4 \t \t \t \t \n", - "0.5 \t \t \t \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t \t \t 3000.0 \t \n", - "0.8 \t \t \t \t \n", - "0.9 \t \t \t \t \n", - "1.0 \t 1000.0 \t \t 1000.0 \t \n", - "2.0 \t 300.0 \t \t 300.0 \t \n", - "3.0 \t \t \t \t 7000.0\n", - "4.0 \t \t 7000.0 \t \t 3000.0\n", - "5.0 \t \t 3000.0 \t \t 1000.0\n", - "6.0 \t \t 1000.0 \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CH4, CO , H2, Alcohol = sheetMQ309A.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", CH4, \"\t\", CO, \"\t\", H2, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ309A = sheetMQ309A.col_values(0)[2:]\n", - "MQ309A_CH4 = sheetMQ309A.col_values(1)[2:]\n", - "MQ309A_CO = sheetMQ309A.col_values(2)[2:]\n", - "MQ309A_H2 = sheetMQ309A.col_values(3)[2:]\n", - "MQ309A_Alcohol = sheetMQ309A.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "MQ309A_CH4 =zero_to_nan(MQ309A_CH4)\n", - "MQ309A_CO =zero_to_nan(MQ309A_CO)\n", - "MQ309A_H2 =zero_to_nan(MQ309A_H2)\n", - "MQ309A_Alcohol =zero_to_nan(MQ309A_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCH4 = {'RsRo': x_MQ309A, 'CH4': MQ309A_CH4}\n", - "dataCO = {'RsRo': x_MQ309A, 'CO': MQ309A_CO}\n", - "dataH2 = {'RsRo': x_MQ309A, 'H2': MQ309A_H2}\n", - "dataAlcohol = {'RsRo': x_MQ309A, 'Alcohol': MQ309A_Alcohol}\n", - "\n", - "dfMQ309A_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ309A_CO = pd.DataFrame(dataCO)\n", - "dfMQ309A_H2 = pd.DataFrame(dataH2)\n", - "dfMQ309A_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ309A_CH4['CH4'] = pd.to_numeric(dfMQ309A_CH4['CH4'])\n", - "dfMQ309A_CO['CO'] = pd.to_numeric(dfMQ309A_CO['CO'])\n", - "dfMQ309A_H2['H2'] = pd.to_numeric(dfMQ309A_H2['H2'])\n", - "dfMQ309A_Alcohol['Alcohol'] = pd.to_numeric(dfMQ309A_Alcohol['Alcohol'])\n", - "\n", - "dfMQ309A_CH4['CH4'] = dfMQ309A_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ309A_CO['CO'] = dfMQ309A_CO['CO'].replace('',None, regex=True)\n", - "dfMQ309A_H2['H2'] = dfMQ309A_H2['H2'].replace('',None, regex=True)\n", - "dfMQ309A_Alcohol['Alcohol'] = dfMQ309A_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ309A_CH4.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ309A_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ309A_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ309A_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ309A_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ309A_CH4, x_MQ309A, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ309A_CO, x_MQ309A, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ309A_H2, x_MQ309A, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ309A_Alcohol, x_MQ309A, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-309A data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ309A.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ309A.png')\n", - "plt.savefig('MQ309A.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ3_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ3_Regression-checkpoint.ipynb deleted file mode 100644 index 3375f49..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ3_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2356 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \t \n", - "0.2 \t 4.0 \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t 1.0 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \t \n", - "0.8 \t \t 8.0 \t \t \t \t \n", - "0.9 \t \t \t \t \t \t \n", - "1.0 \t 0.4 \t 4.0 \t \t \t \t \n", - "2.0 \t \t \t \t \t \t \n", - "3.0 \t \t \t \t \t \t \n", - "4.0 \t \t 0.1 \t \t \t \t \n", - "5.0 \t \t \t \t \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n", - "10.0 \t \t \t \t 8.0 \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Alcohol, Benzine, CH4, Hexane, LPG, CO = sheetMQ3.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", Alcohol, \"\t\", Benzine, \"\t\", CH4, \"\t\", Hexane, \"\t\", LPG, \"\t\", CO)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ3 = sheetMQ3.col_values(0)[2:]\n", - "MQ3_Alcohol = sheetMQ3.col_values(1)[2:]\n", - "MQ3_Benzine = sheetMQ3.col_values(2)[2:]\n", - "MQ3_CH4 = sheetMQ3.col_values(3)[2:]\n", - "MQ3_Hexane = sheetMQ3.col_values(4)[2:]\n", - "MQ3_LPG = sheetMQ3.col_values(5)[2:]\n", - "MQ3_CO = sheetMQ3.col_values(6)[2:]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "MQ3_Alcohol =zero_to_nan(MQ3_Alcohol)\n", - "MQ3_Benzine =zero_to_nan(MQ3_Benzine)\n", - "MQ3_CH4 =zero_to_nan(MQ3_CH4)\n", - "MQ3_Hexane =zero_to_nan(MQ3_Hexane)\n", - "MQ3_LPG =zero_to_nan(MQ3_LPG)\n", - "MQ3_CO =zero_to_nan(MQ3_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataAlcohol = {'RsRo': x_MQ3, 'Alcohol': MQ3_Alcohol}\n", - "dataBenzine = {'RsRo': x_MQ3, 'Benzine': MQ3_Benzine}\n", - "dataCH4 = {'RsRo': x_MQ3, 'CH4': MQ3_CH4}\n", - "dataHexane = {'RsRo': x_MQ3, 'Hexane': MQ3_Hexane}\n", - "dataLPG = {'RsRo': x_MQ3, 'LPG': MQ3_LPG}\n", - "dataCO = {'RsRo': x_MQ3, 'CO': MQ3_CO}\n", - "\n", - "dfMQ3_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ3_Benzine = pd.DataFrame(dataBenzine)\n", - "dfMQ3_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ3_Hexane = pd.DataFrame(dataHexane)\n", - "dfMQ3_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ3_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ3_Alcohol['Alcohol'] = pd.to_numeric(dfMQ3_Alcohol['Alcohol'])\n", - "dfMQ3_Benzine['Benzine'] = pd.to_numeric(dfMQ3_Benzine['Benzine'])\n", - "dfMQ3_CH4['CH4'] = pd.to_numeric(dfMQ3_CH4['CH4'])\n", - "dfMQ3_Hexane['Hexane'] = pd.to_numeric(dfMQ3_Hexane['Hexane'])\n", - "dfMQ3_LPG['LPG'] = pd.to_numeric(dfMQ3_LPG['LPG'])\n", - "dfMQ3_CO['CO'] = pd.to_numeric(dfMQ3_CO['CO'])\n", - "\n", - "dfMQ3_Alcohol['Alcohol'] = dfMQ3_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ3_Benzine['Benzine'] = dfMQ3_Benzine['Benzine'].replace('',None, regex=True)\n", - "dfMQ3_CH4['CH4'] = dfMQ3_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ3_Hexane['Hexane'] = dfMQ3_Hexane['Hexane'].replace('',None, regex=True)\n", - "dfMQ3_LPG['LPG'] = dfMQ3_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ3_CO['CO'] = dfMQ3_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ3_Alcohol.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train alcohol\n", - "dataset2TrainAlcohol = dfMQ3_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Alcohol = Alcohol_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Benzine\n", - "dataset2TrainBenzine = dfMQ3_Benzine.copy()\n", - "dataset2TrainBenzine.dropna(inplace=True)\n", - "X_trainBenzine = dataset2TrainBenzine.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainBenzine = dataset2TrainBenzine['Benzine'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainBenzine, y_trainBenzine)\n", - "#Predict\n", - "Benzine_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Benzine = Benzine_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ3_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Hexane\n", - "dataset2TrainHexane = dfMQ3_Hexane.copy()\n", - "dataset2TrainHexane.dropna(inplace=True)\n", - "X_trainHexane = dataset2TrainHexane.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainHexane = dataset2TrainHexane['Hexane'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainHexane, y_trainHexane)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Hexane = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ3_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ3_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ3_Alcohol, x_MQ3, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ3_Benzine, x_MQ3, marker='o', linewidth=1, label='Benzine')\n", - "plt.plot(MQ3_CH4, x_MQ3, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ3_Hexane, x_MQ3, marker='o', linewidth=1, label='Hexane')\n", - "plt.plot(MQ3_LPG, x_MQ3, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ3_CO, x_MQ3, marker='o', linewidth=1, label='CO')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-3 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ3.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ3.png')\n", - "plt.savefig('MQ3.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ4_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ4_Regression-checkpoint.ipynb deleted file mode 100644 index 728a44f..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ4_Regression-checkpoint.ipynb +++ /dev/null @@ -1,1935 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t \t \t \n", - "0.3 \t \t \t \t \n", - "0.4 \t \t \t \t \n", - "0.5 \t \t \t \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t \t \t \t \n", - "0.8 \t \t \t \t \n", - "0.9 \t 5000.0 \t \t \t \n", - "1.0 \t \t 1000.0 \t \t \n", - "2.0 \t 1000.0 \t 200.0 \t \t \n", - "3.0 \t 200.0 \t \t 1000.0 \t 5000.0\n", - "4.0 \t \t \t 200.0 \t 200.0\n", - "5.0 \t \t 4000.0 \t \t \n", - "6.0 \t \t \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CH4, CO, H2, Alcohol = sheetMQ4.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", CH4, \"\t\", CO, \"\t\", H2, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ4 = sheetMQ4.col_values(0)[2:]\n", - "MQ4_CH4 = sheetMQ4.col_values(1)[2:]\n", - "MQ4_CO = sheetMQ4.col_values(2)[2:]\n", - "MQ4_H2 = sheetMQ4.col_values(3)[2:]\n", - "MQ4_Alcohol = sheetMQ4.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "MQ4_CH4 =zero_to_nan(MQ4_CH4)\n", - "MQ4_CO =zero_to_nan(MQ4_CO)\n", - "MQ4_H2 =zero_to_nan(MQ4_H2)\n", - "MQ4_Alcohol =zero_to_nan(MQ4_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCH4 = {'RsRo': x_MQ4, 'CH4': MQ4_CH4}\n", - "dataCO = {'RsRo': x_MQ4, 'CO': MQ4_CO}\n", - "dataH2 = {'RsRo': x_MQ4, 'H2': MQ4_H2}\n", - "dataAlcohol = {'RsRo': x_MQ4, 'Alcohol': MQ4_Alcohol}\n", - "\n", - "dfMQ4_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ4_CO = pd.DataFrame(dataCO)\n", - "dfMQ4_H2 = pd.DataFrame(dataH2)\n", - "dfMQ4_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ4_CH4['CH4'] = pd.to_numeric(dfMQ4_CH4['CH4'])\n", - "dfMQ4_CO['CO'] = pd.to_numeric(dfMQ4_CO['CO'])\n", - "dfMQ4_H2['H2'] = pd.to_numeric(dfMQ4_H2['H2'])\n", - "dfMQ4_Alcohol['Alcohol'] = pd.to_numeric(dfMQ4_Alcohol['Alcohol'])\n", - "\n", - "dfMQ4_CH4['CH4'] = dfMQ4_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ4_CO['CO'] = dfMQ4_CO['CO'].replace('',None, regex=True)\n", - "dfMQ4_H2['H2'] = dfMQ4_H2['H2'].replace('',None, regex=True)\n", - "dfMQ4_Alcohol['Alcohol'] = dfMQ4_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ4_Alcohol.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ4_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_CH4 = CH4_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ4_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ4_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_H2 = H2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ4_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ4_CH4, x_MQ4, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ4_CO, x_MQ4, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ4_H2, x_MQ4, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ4_Alcohol, x_MQ4, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-4 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ4.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ4.png')\n", - "plt.savefig('MQ4.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ5_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ5_Regression-checkpoint.ipynb deleted file mode 100644 index 8bf022f..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ5_Regression-checkpoint.ipynb +++ /dev/null @@ -1,1794 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t 5000.0 \t \t \n", - "0.3 \t \t \t \t \n", - "0.4 \t \t 800.0 \t 2000.0 \t \n", - "0.5 \t \t \t 1000.0 \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t 5000.0 \t 200.0 \t 500.0 \t \n", - "0.8 \t 2000.0 \t \t \t \n", - "0.9 \t \t \t \t \n", - "1.0 \t 1000.0 \t \t \t \n", - "2.0 \t \t \t \t \n", - "3.0 \t \t \t \t 800.0\n", - "4.0 \t \t \t \t 200.0\n", - "5.0 \t \t \t \t \n", - "6.0 \t \t \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG , CH4, CO = sheetMQ5.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", H2, \"\t\", LPG, \"\t\", CH4, \"\t\", CO)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ5 = sheetMQ5.col_values(0)[2:]\n", - "MQ5_H2 = sheetMQ5.col_values(1)[2:]\n", - "MQ5_LPG = sheetMQ5.col_values(2)[2:]\n", - "MQ5_CH4 = sheetMQ5.col_values(3)[2:]\n", - "MQ5_CO = sheetMQ5.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "MQ5_H2 =zero_to_nan(MQ5_H2)\n", - "MQ5_LPG =zero_to_nan(MQ5_LPG)\n", - "MQ5_CH4 =zero_to_nan(MQ5_CH4)\n", - "MQ5_CO =zero_to_nan(MQ5_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ5, 'H2': MQ5_H2}\n", - "dataLPG = {'RsRo': x_MQ5, 'LPG': MQ5_LPG}\n", - "dataCH4 = {'RsRo': x_MQ5, 'CH4': MQ5_CH4}\n", - "dataCO = {'RsRo': x_MQ5, 'CO': MQ5_CO}\n", - "\n", - "dfMQ5_H2 = pd.DataFrame(dataH2)\n", - "dfMQ5_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ5_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ5_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ5_H2['H2'] = pd.to_numeric(dfMQ5_H2['H2'])\n", - "dfMQ5_LPG['LPG'] = pd.to_numeric(dfMQ5_LPG['LPG'])\n", - "dfMQ5_CH4['CH4'] = pd.to_numeric(dfMQ5_CH4['CH4'])\n", - "dfMQ5_CO['CO'] = pd.to_numeric(dfMQ5_CO['CO'])\n", - "\n", - "dfMQ5_H2['H2'] = dfMQ5_H2['H2'].replace('',None, regex=True)\n", - "dfMQ5_LPG['LPG'] = dfMQ5_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ5_CH4['CH4'] = dfMQ5_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ5_CO['CO'] = dfMQ5_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ5_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ5_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ5_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ5_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ5_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ5_H2, x_MQ5, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ5_LPG, x_MQ5, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ5_CH4, x_MQ5, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ5_CO, x_MQ5, marker='o', linewidth=1, label='CO')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-5 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ5.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ5.png')\n", - "plt.savefig('MQ5.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ6_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ6_Regression-checkpoint.ipynb deleted file mode 100644 index 0a3aa4a..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ6_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2034 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t 5000.0 \t \t \t \t \n", - "0.4 \t \t \t 5000.0 \t \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t 1000.0 \t \t 2000.0 \t \t \n", - "2.0 \t 200.0 \t 10000.0 \t \t \t \n", - "3.0 \t \t \t \t \t \n", - "4.0 \t \t 400.0 \t \t \t \n", - "5.0 \t \t \t \t \t 3000.0\n", - "6.0 \t \t 200.0 \t \t \t \n", - "7.0 \t \t \t \t 5000.0 \t 400.0\n", - "8.0 \t \t \t \t 1000.0 \t 200.0\n", - "9.0 \t \t \t \t 200.0 \t \n", - "10.0 \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, LPG, H2, CH4, CO, Alcohol = sheetMQ6.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ6 = sheetMQ6.col_values(0)[2:]\n", - "MQ6_LPG = sheetMQ6.col_values(1)[2:]\n", - "MQ6_H2 = sheetMQ3.col_values(2)[2:]\n", - "MQ6_CH4 = sheetMQ3.col_values(3)[2:]\n", - "MQ6_CO = sheetMQ3.col_values(4)[2:]\n", - "MQ6_Alcohol = sheetMQ3.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "MQ5_H2 =zero_to_nan(MQ5_H2)\n", - "MQ5_LPG =zero_to_nan(MQ5_LPG)\n", - "MQ5_CH4 =zero_to_nan(MQ5_CH4)\n", - "MQ5_CO =zero_to_nan(MQ5_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ5, 'H2': MQ5_H2}\n", - "dataLPG = {'RsRo': x_MQ5, 'LPG': MQ5_LPG}\n", - "dataCH4 = {'RsRo': x_MQ5, 'CH4': MQ5_CH4}\n", - "dataCO = {'RsRo': x_MQ5, 'CO': MQ5_CO}\n", - "\n", - "dfMQ5_H2 = pd.DataFrame(dataH2)\n", - "dfMQ5_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ5_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ5_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ5_H2['H2'] = pd.to_numeric(dfMQ5_H2['H2'])\n", - "dfMQ5_LPG['LPG'] = pd.to_numeric(dfMQ5_LPG['LPG'])\n", - "dfMQ5_CH4['CH4'] = pd.to_numeric(dfMQ5_CH4['CH4'])\n", - "dfMQ5_CO['CO'] = pd.to_numeric(dfMQ5_CO['CO'])\n", - "\n", - "dfMQ5_H2['H2'] = dfMQ5_H2['H2'].replace('',None, regex=True)\n", - "dfMQ5_LPG['LPG'] = dfMQ5_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ5_CH4['CH4'] = dfMQ5_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ5_CO['CO'] = dfMQ5_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ5_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ5_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ5_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ5_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ5_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ5_H2, x_MQ5, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ5_LPG, x_MQ5, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ5_CH4, x_MQ5, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ5_CO, x_MQ5, marker='o', linewidth=1, label='CO')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-5 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ5.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ5.png')\n", - "plt.savefig('MQ5.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb deleted file mode 100644 index a63cc80..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2374 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \t \t \n", - "0.02 \t \t \t \t \t \n", - "0.03 \t \t \t \t \t \n", - "0.04 \t \t \t \t \t \n", - "0.05 \t \t 4000.0 \t \t \t \n", - "0.06 \t \t \t \t \t \n", - "0.07 \t \t \t \t \t \n", - "0.08 \t \t \t \t \t \n", - "0.09 \t \t \t \t 3000.0 \t \n", - "0.1 \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t \t 400.0 \t \t \t \n", - "0.4 \t \t \t \t 400.0 \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t 100.0 \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t \t \t \t 100.0 \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CO, H2, LPG, CH4, Alcohol = sheetMQ7.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ7 = sheetMQ7.col_values(0)[2:]\n", - "MQ7_CO = sheetMQ7.col_values(1)[2:]\n", - "MQ7_H2 = sheetMQ7.col_values(2)[2:]\n", - "MQ7_LPG = sheetMQ7.col_values(3)[2:]\n", - "MQ7_CH4 = sheetMQ7.col_values(4)[2:]\n", - "MQ7_Alcohol = sheetMQ7.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "MQ7_H2 =zero_to_nan(MQ7_H2)\n", - "MQ7_LPG =zero_to_nan(MQ7_LPG)\n", - "MQ7_CH4 =zero_to_nan(MQ7_CH4)\n", - "MQ7_CO =zero_to_nan(MQ7_CO)\n", - "MQ7_Alcohol =zero_to_nan(MQ7_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ7, 'H2': MQ7_H2}\n", - "dataLPG = {'RsRo': x_MQ7, 'LPG': MQ7_LPG}\n", - "dataCH4 = {'RsRo': x_MQ7, 'CH4': MQ7_CH4}\n", - "dataCO = {'RsRo': x_MQ7, 'CO': MQ7_CO}\n", - "dataALcohol = {'RsRo': x_MQ7, 'Alcohol': MQ7_Alcohol}\n", - "\n", - "dfMQ7_H2 = pd.DataFrame(dataH2)\n", - "dfMQ7_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ7_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ7_CO = pd.DataFrame(dataCO)\n", - "dfMQ7_Alcohol = pd.DataFrame(dataALcohol)\n", - "\n", - "dfMQ7_H2['H2'] = pd.to_numeric(dfMQ7_H2['H2'])\n", - "dfMQ7_LPG['LPG'] = pd.to_numeric(dfMQ7_LPG['LPG'])\n", - "dfMQ7_CH4['CH4'] = pd.to_numeric(dfMQ7_CH4['CH4'])\n", - "dfMQ7_CO['CO'] = pd.to_numeric(dfMQ7_CO['CO'])\n", - "dfMQ7_Alcohol['Alcohol'] = pd.to_numeric(dfMQ7_Alcohol['Alcohol'])\n", - "\n", - "dfMQ7_H2['H2'] = dfMQ7_H2['H2'].replace('',None, regex=True)\n", - "dfMQ7_LPG['LPG'] = dfMQ7_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ7_CH4['CH4'] = dfMQ7_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ7_CO['CO'] = dfMQ7_CO['CO'].replace('',None, regex=True)\n", - "dfMQ7_Alcohol['Alcohol'] = dfMQ7_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ7_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ7_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ7_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ7_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ7_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ7_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ7_H2, x_MQ7, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ7_LPG, x_MQ7, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ7_CH4, x_MQ7, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ7_CO, x_MQ7, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ7_Alcohol, x_MQ7, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-7 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ7.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ7.png')\n", - "plt.savefig('MQ7.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ8_Regression-checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ8_Regression-checkpoint.ipynb deleted file mode 100644 index 03be25a..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ8_Regression-checkpoint.ipynb +++ /dev/null @@ -1,2605 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \t \t \n", - "0.02 \t \t \t \t \t \n", - "0.03 \t \t \t \t \t \n", - "0.04 \t \t \t \t \t \n", - "0.05 \t \t \t \t \t \n", - "0.06 \t \t \t \t \t \n", - "0.07 \t \t \t \t \t \n", - "0.08 \t \t \t \t \t \n", - "0.09 \t \t \t \t \t \n", - "0.1 \t \t 5000.0 \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t \t 1000.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG, CH4, CO, Alcohol = sheetMQ8.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ8 = sheetMQ8.col_values(0)[2:]\n", - "MQ8_H2 = sheetMQ8.col_values(1)[2:]\n", - "MQ8_LPG = sheetMQ8.col_values(2)[2:]\n", - "MQ8_CH4 = sheetMQ8.col_values(3)[2:]\n", - "MQ8_CO = sheetMQ8.col_values(4)[2:]\n", - "MQ8_Alcohol = sheetMQ8.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "MQ8_H2 =zero_to_nan(MQ8_H2)\n", - "MQ8_LPG =zero_to_nan(MQ8_LPG)\n", - "MQ8_CH4 =zero_to_nan(MQ8_CH4)\n", - "MQ8_CO =zero_to_nan(MQ8_CO)\n", - "MQ8_Alcohol =zero_to_nan(MQ8_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ8, 'H2': MQ8_H2}\n", - "dataLPG = {'RsRo': x_MQ8, 'LPG': MQ8_LPG}\n", - "dataCH4 = {'RsRo': x_MQ8, 'CH4': MQ8_CH4}\n", - "dataCO = {'RsRo': x_MQ8, 'CO': MQ8_CO}\n", - "dataALcohol = {'RsRo': x_MQ8, 'Alcohol': MQ8_Alcohol}\n", - "\n", - "dfMQ8_H2 = pd.DataFrame(dataH2)\n", - "dfMQ8_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ8_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ8_CO = pd.DataFrame(dataCO)\n", - "dfMQ8_Alcohol = pd.DataFrame(dataALcohol)\n", - "\n", - "dfMQ8_H2['H2'] = pd.to_numeric(dfMQ8_H2['H2'])\n", - "dfMQ8_LPG['LPG'] = pd.to_numeric(dfMQ8_LPG['LPG'])\n", - "dfMQ8_CH4['CH4'] = pd.to_numeric(dfMQ8_CH4['CH4'])\n", - "dfMQ8_CO['CO'] = pd.to_numeric(dfMQ8_CO['CO'])\n", - "dfMQ8_Alcohol['Alcohol'] = pd.to_numeric(dfMQ8_Alcohol['Alcohol'])\n", - "\n", - "dfMQ8_H2['H2'] = dfMQ8_H2['H2'].replace('',None, regex=True)\n", - "dfMQ8_LPG['LPG'] = dfMQ8_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ8_CH4['CH4'] = dfMQ8_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ8_CO['CO'] = dfMQ8_CO['CO'].replace('',None, regex=True)\n", - "dfMQ8_Alcohol['Alcohol'] = dfMQ8_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ8_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ8_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ8_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ8_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ8_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ8_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ8_H2, x_MQ8, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ8_LPG, x_MQ8, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ8_CH4, x_MQ8, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ8_CO, x_MQ8, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ8_Alcohol, x_MQ8, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-8 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ8.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ8.png')\n", - "plt.savefig('MQ8.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb b/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb deleted file mode 100644 index 0eeca8b..0000000 --- a/Internal_design_documents/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb +++ /dev/null @@ -1,1632 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \n", - "0.2 \t \t \t \n", - "0.3 \t \t \t \n", - "0.4 \t \t \t \n", - "0.5 \t \t \t \n", - "0.6 \t 3000.0 \t \t \n", - "0.7 \t \t \t 1000.0\n", - "0.8 \t \t 1000.0 \t \n", - "0.9 \t \t 800.0 \t 5000.0\n", - "1.0 \t 1000.0 \t \t \n", - "2.0 \t 200.0 \t 200.0 \t \n", - "3.0 \t \t \t 200.0\n", - "4.0 \t \t \t \n", - "5.0 \t \t \t \n", - "6.0 \t \t \t \n", - "7.0 \t \t \t \n", - "8.0 \t \t \t \n", - "9.0 \t \t \t \n", - "10.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, LPG, CO, CH4 = sheetMQ9.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", LPG, \"\t\", CO, \"\t\", CH4)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ9 = sheetMQ9.col_values(0)[2:]\n", - "MQ9_LPG = sheetMQ9.col_values(1)[2:]\n", - "MQ9_CO = sheetMQ9.col_values(2)[2:]\n", - "MQ9_CH4 = sheetMQ9.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "MQ9_LPG =zero_to_nan(MQ9_LPG)\n", - "MQ9_CH4 =zero_to_nan(MQ9_CH4)\n", - "MQ9_CO =zero_to_nan(MQ9_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataLPG = {'RsRo': x_MQ9, 'LPG': MQ9_LPG}\n", - "dataCH4 = {'RsRo': x_MQ9, 'CH4': MQ9_CH4}\n", - "dataCO = {'RsRo': x_MQ9, 'CO': MQ9_CO}\n", - "\n", - "dfMQ9_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ9_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ9_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ9_LPG['LPG'] = pd.to_numeric(dfMQ9_LPG['LPG'])\n", - "dfMQ9_CH4['CH4'] = pd.to_numeric(dfMQ9_CH4['CH4'])\n", - "dfMQ9_CO['CO'] = pd.to_numeric(dfMQ9_CO['CO'])\n", - "\n", - "dfMQ9_LPG['LPG'] = dfMQ9_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ9_CH4['CH4'] = dfMQ9_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ9_CO['CO'] = dfMQ9_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ9_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ9_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ9_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ9_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ9_LPG, x_MQ9, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ9_CH4, x_MQ9, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ9_CO, x_MQ9, marker='o', linewidth=1, label='CO')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-9 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ9.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ9.png')\n", - "plt.savefig('MQ9.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/Datasheets info.xlsx b/Internal_design_documents/Experiments/Datasheets info.xlsx deleted file mode 100644 index 56d77bb..0000000 Binary files a/Internal_design_documents/Experiments/Datasheets info.xlsx and /dev/null differ diff --git a/Internal_design_documents/Experiments/Experiment 3.ipynb b/Internal_design_documents/Experiments/Experiment 3.ipynb deleted file mode 100644 index d6d7364..0000000 --- a/Internal_design_documents/Experiments/Experiment 3.ipynb +++ /dev/null @@ -1,4944 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Este experimento fue realizado despues de +48 horas de precalentamiento.\n", - "## El objetivo fue determinar R0 de forma practica en un espacio con aire limpio.\n", - "### Por ello fue durante las horas de la noche." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "install xlrd library" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!pip install pandas\n", - "!pip install xlrd" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Experimento 3 - 1 de Junio.xlsx\")\n", - "sheet = book.sheet_by_name(\"Experimento 3 - 1 de Junio\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.0 11.00 4.00 50.00 72.00 14.00 4.00 1.00 9.00\n", - "2.0 11.00 4.00 51.00 72.00 13.00 4.00 1.00 8.00\n", - "3.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "4.0 10.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "5.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "6.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "7.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 10.00\n", - "8.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 9.00\n", - "9.0 11.00 4.00 51.00 72.00 14.00 4.00 1.00 9.00\n", - "10.0 11.00 4.00 52.00 73.00 14.00 4.00 1.00 9.00\n", - "11.0 11.00 4.00 52.00 73.00 13.00 4.00 1.00 9.00\n", - "12.0 10.00 4.00 51.00 72.00 13.00 4.00 1.00 9.00\n", - "13.0 10.00 4.00 50.00 71.00 13.00 4.00 1.00 9.00\n", - "14.0 10.00 4.00 50.00 70.00 13.00 4.00 1.00 9.00\n", - "15.0 10.00 4.00 50.00 71.00 13.00 4.00 1.00 9.00\n" - ] - } - ], - "source": [ - "for row_index in range(5,20): #reading first columns\n", - " id, MQ2_R0, MQ3_R0, MQ4_R0, MQ5_R0, MQ6_R0, MQ7_R0, MQ8_R0, MQ9_R0, MQ2_Vm, MQ3_Vm, MQ4_Vm, MQ5_Vm, MQ6_Vm, MQ7_Vm, MQ8_Vm, MQ9_Vm = sheet.row_values(row_index)\n", - " print(id, MQ2_R0, MQ3_R0, MQ4_R0, MQ5_R0, MQ6_R0, MQ7_R0, MQ8_R0, MQ9_R0)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "x = sheet.col_values(0)[5:]\n", - "MQ2_R0 = sheet.col_values(1)[5:]\n", - "MQ3_R0 = sheet.col_values(2)[5:]\n", - "MQ4_R0 = sheet.col_values(3)[5:]\n", - "MQ5_R0 = sheet.col_values(4)[5:]\n", - "MQ6_R0 = sheet.col_values(5)[5:]\n", - "MQ7_R0 = sheet.col_values(6)[5:]\n", - "MQ8_R0 = sheet.col_values(7)[5:]\n", - "MQ9_R0 = sheet.col_values(8)[5:]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(18.5, 10.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(x,MQ2_R0, marker='o', linewidth=1, label='MQ2')\n", - "plt.plot(x, MQ3_R0, marker='o', linewidth=1, label='MQ3')\n", - "plt.plot(x, MQ4_R0, marker='o', linewidth=1, label='MQ4')\n", - "plt.plot(x, MQ5_R0, marker='o', linewidth=1, label='MQ5')\n", - "plt.plot(x, MQ6_R0, marker='o', linewidth=1, label='MQ6')\n", - "plt.plot(x, MQ7_R0, marker='o', linewidth=1, label='MQ7')\n", - "plt.plot(x, MQ8_R0, marker='o', linewidth=1, label='MQ8')\n", - "plt.plot(x, MQ9_R0, marker='o', linewidth=1, label='MQ9')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "fig.suptitle('Calibration plot for MQ data')\n", - "ax.set_xlabel('Samples')\n", - "ax.set_ylabel('R0 (Kohms)')\n", - "plt.legend()\n", - "plt.savefig('demo1.svg')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/Experimento 3 - 1 de Junio.xlsx b/Internal_design_documents/Experiments/Experimento 3 - 1 de Junio.xlsx deleted file mode 100644 index edc388d..0000000 Binary files a/Internal_design_documents/Experiments/Experimento 3 - 1 de Junio.xlsx and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ131.eps b/Internal_design_documents/Experiments/MQ131.eps deleted file mode 100644 index 7dcddfb..0000000 --- a/Internal_design_documents/Experiments/MQ131.eps +++ /dev/null @@ -1,2311 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ131.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 21:19:02 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /C /L /M /N /O /P /Q /R /a /b /c /d /e /f /i /l /n /o /p /r /s /t /x ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 31 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/N{748 0 98 0 650 729 _sc -98 729 _m -231 729 _l -554 119 _l -554 729 _l -650 729 _l -650 0 _l -517 0 _l -194 610 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/x{592 0 29 0 559 547 _sc -549 547 _m -351 281 _l -559 0 _l -453 0 _l -294 215 _l -135 0 _l -29 0 _l -241 286 _l -47 547 _l -153 547 _l -298 352 _l -443 547 _l -549 547 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -294.059 49.5 o -grestore -gsave -285.059395 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -525.677 49.5 o -grestore -gsave -516.677464 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -132.165312 49.5 m -132.165312 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -132.165 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -172.951229 49.5 m -172.951229 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -172.951 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -201.889298 49.5 m -201.889298 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -201.889 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -224.335408 49.5 m -224.335408 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -224.335 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -242.675216 49.5 m -242.675216 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -242.675 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -258.181302 49.5 m -258.181302 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -258.181 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -271.613284 49.5 m -271.613284 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -271.613 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -283.461133 49.5 m -283.461133 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -283.461 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -363.783381 49.5 m -363.783381 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -363.783 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -404.569298 49.5 m -404.569298 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -404.569 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -433.507367 49.5 m -433.507367 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -433.507 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -455.953478 49.5 m -455.953478 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -455.953 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -474.293285 49.5 m -474.293285 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -474.293 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -489.799371 49.5 m -489.799371 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -489.799 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -503.231354 49.5 m -503.231354 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -503.231 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -515.079202 49.5 m -515.079202 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -515.079 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -559.170802 91.260953 l -557.954341 111.248562 l -556.72299 126.752157 l -555.476378 139.419515 l -554.214123 150.129615 l -552.935826 159.407125 l -551.641077 167.590468 l -550.329444 174.910719 l -536.176703 223.069281 l -519.701502 251.240234 l -499.989053 271.227843 l -475.448209 286.731438 l -442.918964 299.398797 l -394.541557 310.108896 l -297.849058 319.386406 l --1 319.396954 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -559.171 91.261 o -557.954 111.249 o -556.723 126.752 o -555.476 139.42 o -554.214 150.13 o -552.936 159.407 o -551.641 167.59 o -550.329 174.911 o -536.177 223.069 o -519.702 251.24 o -499.989 271.228 o -475.448 286.731 o -442.919 299.399 o -394.542 310.109 o -297.849 319.386 o --1 319.397 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -463.543976 63.09 m -462.282571 91.260953 l -461.005145 111.248562 l -459.711289 126.752157 l -458.400573 139.419515 l -457.072553 150.129615 l -455.726765 159.407125 l -454.362727 167.590468 l -452.979938 174.910719 l -437.993648 223.069281 l -420.377072 251.240234 l -399.006151 271.227843 l -371.834913 286.731438 l -334.492197 299.398797 l -274.442528 310.108896 l -103.827273 319.386406 l --1 319.390109 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -463.544 63.09 o -462.283 91.261 o -461.005 111.249 o -459.711 126.752 o -458.401 139.42 o -457.073 150.13 o -455.727 159.407 o -454.363 167.59 o -452.98 174.911 o -437.994 223.069 o -420.377 251.24 o -399.006 271.228 o -371.835 286.731 o -334.492 299.399 o -274.443 310.109 o -103.827 319.386 o --1 319.39 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -502.929649 63.09 m -501.088514 91.260953 l -499.213051 111.248562 l -497.301955 126.752157 l -495.353847 139.419515 l -493.367263 150.129615 l -491.340655 159.407125 l -489.272375 167.590468 l -487.160673 174.910719 l -463.175175 223.069281 l -431.617921 251.240234 l -385.379708 271.227843 l -297.264028 286.731438 l --1 286.747733 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -502.93 63.09 o -501.089 91.261 o -499.213 111.249 o -497.302 126.752 o -495.354 139.42 o -493.367 150.13 o -491.341 159.407 o -489.272 167.59 o -487.161 174.911 o -463.175 223.069 o -431.618 251.24 o -385.38 271.228 o -297.264 286.731 o --1 286.748 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -524.66875 296.464375 m -576.2 296.464375 l -577.533333 296.464375 578.2 297.131042 578.2 298.464375 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -524.66875 343.48 l -523.335417 343.48 522.66875 342.813333 522.66875 341.48 c -522.66875 298.464375 l -522.66875 297.131042 523.335417 296.464375 524.66875 296.464375 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -526.66875 335.38625 m -546.66875 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -536.669 335.386 o -grestore -0.000 setgray -gsave -554.668750 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /N glyphshow -7.480469 0.000000 m /o glyphshow -13.598633 0.000000 m /x glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -526.66875 320.714375 m -546.66875 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -536.669 320.714 o -grestore -0.000 setgray -gsave -554.668750 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /L glyphshow -12.553711 0.000000 m /two glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -526.66875 306.0425 m -546.66875 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -536.669 306.043 o -grestore -0.000 setgray -gsave -554.668750 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /O glyphshow -7.871094 0.000000 m /three glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -226.921875 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /one glyphshow -147.996094 0.000000 m /three glyphshow -155.630859 0.000000 m /one glyphshow -163.265625 0.000000 m /space glyphshow -167.080078 0.000000 m /d glyphshow -174.697266 0.000000 m /a glyphshow -182.050781 0.000000 m /t glyphshow -186.755859 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ131.png b/Internal_design_documents/Experiments/MQ131.png deleted file mode 100644 index cdda0be..0000000 Binary files a/Internal_design_documents/Experiments/MQ131.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ131.svg b/Internal_design_documents/Experiments/MQ131.svg deleted file mode 100644 index 27280a3..0000000 --- a/Internal_design_documents/Experiments/MQ131.svg +++ /dev/null @@ -1,1391 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ131_Regression.ipynb b/Internal_design_documents/Experiments/MQ131_Regression.ipynb deleted file mode 100644 index 2e5152f..0000000 --- a/Internal_design_documents/Experiments/MQ131_Regression.ipynb +++ /dev/null @@ -1,1705 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \n", - "0.2 \t \t \t \n", - "0.3 \t \t \t \n", - "0.4 \t \t \t \n", - "0.5 \t \t \t 100.0\n", - "0.6 \t \t \t \n", - "0.7 \t \t \t \n", - "0.8 \t \t \t \n", - "0.9 \t \t \t \n", - "1.0 \t \t 50.0 \t \n", - "2.0 \t \t \t 20.0\n", - "3.0 \t 100.0 \t \t \n", - "4.0 \t \t \t \n", - "5.0 \t \t \t \n", - "6.0 \t \t 10.0 \t 5.0\n", - "7.0 \t 10.0 \t \t \n", - "8.0 \t \t 5.0 \t \n", - "9.0 \t 5.0 \t \t \n", - "10.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Nox, CL2, O3 = sheetMQ131.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", Nox, \"\t\", CL2, \"\t\", O3)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ131 = sheetMQ131.col_values(0)[2:]\n", - "MQ131_Nox = sheetMQ131.col_values(1)[2:]\n", - "MQ131_CL2 = sheetMQ131.col_values(2)[2:]\n", - "MQ131_O3 = sheetMQ131.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "MQ131_Nox =zero_to_nan(MQ131_Nox)\n", - "MQ131_CL2 =zero_to_nan(MQ131_CL2)\n", - "MQ131_O3 =zero_to_nan(MQ131_O3)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataNox = {'RsRo': x_MQ131, 'Nox': MQ131_Nox}\n", - "dataCL2 = {'RsRo': x_MQ131, 'CL2': MQ131_CL2}\n", - "dataO3 = {'RsRo': x_MQ131, 'O3': MQ131_O3}\n", - "\n", - "dfMQ131_Nox = pd.DataFrame(dataNox)\n", - "dfMQ131_CL2 = pd.DataFrame(dataCL2)\n", - "dfMQ131_O3 = pd.DataFrame(dataO3)\n", - "\n", - "dfMQ131_Nox['Nox'] = pd.to_numeric(dfMQ131_Nox['Nox'])\n", - "dfMQ131_CL2['CL2'] = pd.to_numeric(dfMQ131_CL2['CL2'])\n", - "dfMQ131_O3['O3'] = pd.to_numeric(dfMQ131_O3['O3'])\n", - "\n", - "dfMQ131_Nox['Nox'] = dfMQ131_Nox['Nox'].replace('',None, regex=True)\n", - "dfMQ131_CL2['CL2'] = dfMQ131_CL2['CL2'].replace('',None, regex=True)\n", - "dfMQ131_O3['O3'] = dfMQ131_O3['O3'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ131_Nox.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Nox\n", - "dataset2TrainNox = dfMQ131_Nox.copy()\n", - "dataset2TrainNox.dropna(inplace=True)\n", - "X_trainNox = dataset2TrainNox.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainNox = dataset2TrainNox['Nox'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainNox, y_trainNox)\n", - "#Predict\n", - "Nox_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_Nox = Nox_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CL2\n", - "dataset2TrainCL2 = dfMQ131_CL2.copy()\n", - "dataset2TrainCL2.dropna(inplace=True)\n", - "X_trainCL2 = dataset2TrainCL2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCL2 = dataset2TrainCL2['CL2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCL2, y_trainCL2)\n", - "#Predict\n", - "CL2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_CL2 = CL2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train O3\n", - "dataset2TrainO3 = dfMQ131_O3.copy()\n", - "dataset2TrainO3.dropna(inplace=True)\n", - "X_trainO3 = dataset2TrainO3.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainO3 = dataset2TrainO3['O3'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainO3, y_trainO3)\n", - "#Predict\n", - "O3_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ131_O3 = O3_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ131_Nox, x_MQ131, marker='o', linewidth=1, label='Nox')\n", - "plt.plot(MQ131_CL2, x_MQ131, marker='o', linewidth=1, label='CL2')\n", - "plt.plot(MQ131_O3, x_MQ131, marker='o', linewidth=1, label='O3')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-131 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ131.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ131.png')\n", - "plt.savefig('MQ131.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ135.eps b/Internal_design_documents/Experiments/MQ135.eps deleted file mode 100644 index 0e61295..0000000 --- a/Internal_design_documents/Experiments/MQ135.eps +++ /dev/null @@ -1,2760 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ135.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 21:40:37 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /five /A /C /H /M /N /O /P /Q /R /T /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /u ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 36 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/five{{636 0 77 -13 549 729 _sc -108 729 _m -495 729 _l -495 646 _l -198 646 _l -198 467 _l -212 472 227 476 241 478 _c -255 480 270 482 284 482 _c -365 482 429 459 477 415 _c -525 370 549 310 549 234 _c -549 155 524 94 475 51 _c -426 8 357 -13 269 -13 _c -238 -13 207 -10 175 -6 _c -143 -1 111 6 77 17 _c -77 116 _l -106 100 136 88 168 80 _c -199 72 232 69 267 69 _c -}_e{323 69 368 83 401 113 _c -433 143 450 183 450 234 _c -450 284 433 324 401 354 _c -368 384 323 399 267 399 _c -241 399 214 396 188 390 _c -162 384 135 375 108 363 _c -108 729 _l -_cl}_e}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/N{748 0 98 0 650 729 _sc -98 729 _m -231 729 _l -554 119 _l -554 729 _l -650 729 _l -650 0 _l -517 0 _l -194 610 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/T{611 0 -2 0 614 729 _sc --2 729 _m -614 729 _l -614 646 _l -355 646 _l -355 0 _l -256 0 _l -256 646 _l --2 646 _l --2 729 _l -_cl}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/u{634 0 85 -13 543 560 _sc -85 216 _m -85 547 _l -175 547 _l -175 219 _l -175 167 185 129 205 103 _c -225 77 255 64 296 64 _c -344 64 383 79 411 110 _c -439 141 453 183 453 237 _c -453 547 _l -543 547 _l -543 0 _l -453 0 _l -453 84 _l -431 50 405 26 377 10 _c -348 -5 315 -13 277 -13 _c -214 -13 166 6 134 45 _c -101 83 85 140 85 216 _c -311 560 _m -311 560 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -223.508 49.5 o -grestore -gsave -214.508259 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -435.816 49.5 o -grestore -gsave -426.815873 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -112.49712 49.5 m -112.49712 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -112.497 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -139.022565 49.5 m -139.022565 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -139.023 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -159.597299 49.5 m -159.597299 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -159.597 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -176.40808 49.5 m -176.40808 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -176.408 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -190.621394 49.5 m -190.621394 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -190.621 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -202.933525 49.5 m -202.933525 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -202.934 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -213.793595 49.5 m -213.793595 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -213.794 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -287.419219 49.5 m -287.419219 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -287.419 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -324.804734 49.5 m -324.804734 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -324.805 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -351.330179 49.5 m -351.330179 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -351.33 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -371.904913 49.5 m -371.904913 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -371.905 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -388.715694 49.5 m -388.715694 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -388.716 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -402.929007 49.5 m -402.929007 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -402.929 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -415.241139 49.5 m -415.241139 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -415.241 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -426.101209 49.5 m -426.101209 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -426.101 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -499.726833 49.5 m -499.726833 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -499.727 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -537.112348 49.5 m -537.112348 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -537.112 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -563.637793 49.5 m -563.637793 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -563.638 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -519.680822 63.09 m -514.490344 91.260953 l -508.990155 111.248562 l -503.140936 126.752157 l -496.895371 139.419515 l -490.195816 150.129615 l -482.97106 159.407125 l -475.131701 167.590468 l -466.563366 174.910719 l -130.661154 223.069281 l --1 223.086741 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.681 63.09 o -514.49 91.261 o -508.99 111.249 o -503.141 126.752 o -496.895 139.42 o -490.196 150.13 o -482.971 159.407 o -475.132 167.59 o -466.563 174.911 o -130.661 223.069 o --1 223.087 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -529.364075 63.09 m -526.135797 91.260953 l -522.790375 111.248562 l -519.318987 126.752157 l -515.711774 139.419515 l -511.957674 150.129615 l -508.044214 159.407125 l -503.957262 167.590468 l -499.680719 174.910719 l -440.314522 223.069281 l -224.42572 251.240234 l --1 251.261436 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -529.364 63.09 o -526.136 91.261 o -522.79 111.249 o -519.319 126.752 o -515.712 139.42 o -511.958 150.13 o -508.044 159.407 o -503.957 167.59 o -499.681 174.911 o -440.315 223.069 o -224.426 251.24 o --1 251.261 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -511.612635 63.09 m -506.437381 91.260953 l -500.954286 111.248562 l -495.124395 126.752157 l -488.900863 139.419515 l -482.226655 150.129615 l -475.031369 159.407125 l -467.226699 167.590468 l -458.699792 174.910719 l -138.708412 223.069281 l --1 223.087808 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -511.613 63.09 o -506.437 91.261 o -500.954 111.249 o -495.124 126.752 o -488.901 139.42 o -482.227 150.13 o -475.031 159.407 o -467.227 167.59 o -458.7 174.911 o -138.708 223.069 o --1 223.088 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -500.014003 63.09 m -496.763562 91.260953 l -493.394333 111.248562 l -489.897304 126.752157 l -486.262397 139.419515 l -482.478291 150.129615 l -478.532212 159.407125 l -474.409671 167.590468 l -470.094145 174.910719 l -409.94708 223.069281 l -177.063358 251.240234 l --1 251.256985 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -500.014 63.09 o -496.764 91.261 o -493.394 111.249 o -489.897 126.752 o -486.262 139.42 o -482.478 150.13 o -478.532 159.407 o -474.41 167.59 o -470.094 174.911 o -409.947 223.069 o -177.063 251.24 o --1 251.257 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -548.369972 91.260953 l -534.567552 111.248562 l -518.328963 126.752157 l -498.605915 139.419515 l -473.482693 150.129615 l -438.839226 159.407125 l -382.696658 167.590468 l -214.643408 174.910719 l --1 174.959587 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -548.37 91.261 o -534.568 111.249 o -518.329 126.752 o -498.606 139.42 o -473.483 150.13 o -438.839 159.407 o -382.697 167.59 o -214.643 174.911 o --1 174.96 o -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -550.705509 63.09 m -538.496783 91.260953 l -524.421165 111.248562 l -507.802811 126.752157 l -487.515968 139.419515 l -461.468353 150.129615 l -425.031131 159.407125 l -363.907901 167.590468 l -103.827273 174.910719 l --1 174.934487 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -550.706 63.09 o -538.497 91.261 o -524.421 111.249 o -507.803 126.752 o -487.516 139.42 o -461.468 150.13 o -425.031 159.407 o -363.908 167.59 o -103.827 174.911 o --1 174.934 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -503.184375 252.44875 m -576.2 252.44875 l -577.533333 252.44875 578.2 253.115417 578.2 254.44875 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -503.184375 343.48 l -501.851042 343.48 501.184375 342.813333 501.184375 341.48 c -501.184375 254.44875 l -501.184375 253.115417 501.851042 252.44875 503.184375 252.44875 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -505.184375 335.38625 m -525.184375 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 335.386 o -grestore -0.000 setgray -gsave -533.184375 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -14.853516 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -505.184375 320.714375 m -525.184375 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 320.714 o -grestore -0.000 setgray -gsave -533.184375 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -505.184375 306.0425 m -525.184375 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 306.043 o -grestore -0.000 setgray -gsave -533.184375 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -505.184375 291.370625 m -525.184375 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 291.371 o -grestore -0.000 setgray -gsave -533.184375 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /N glyphshow -7.480469 0.000000 m /H glyphshow -15.000000 0.000000 m /four glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -505.184375 276.69875 m -525.184375 276.69875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 276.699 o -grestore -0.000 setgray -gsave -533.184375 273.198750 translate -0.000000 rotate -0.000000 0.000000 m /T glyphshow -6.092773 0.000000 m /o glyphshow -12.210938 0.000000 m /l glyphshow -14.989258 0.000000 m /u glyphshow -21.327148 0.000000 m /e glyphshow -27.479492 0.000000 m /n glyphshow -33.817383 0.000000 m /o glyphshow -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -505.184375 262.026875 m -525.184375 262.026875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -515.184 262.027 o -grestore -0.000 setgray -gsave -533.184375 258.526875 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /c glyphshow -12.338867 0.000000 m /e glyphshow -18.491211 0.000000 m /t glyphshow -22.412109 0.000000 m /o glyphshow -28.530273 0.000000 m /n glyphshow -34.868164 0.000000 m /a glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -226.921875 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /one glyphshow -147.996094 0.000000 m /three glyphshow -155.630859 0.000000 m /five glyphshow -163.265625 0.000000 m /space glyphshow -167.080078 0.000000 m /d glyphshow -174.697266 0.000000 m /a glyphshow -182.050781 0.000000 m /t glyphshow -186.755859 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ135.png b/Internal_design_documents/Experiments/MQ135.png deleted file mode 100644 index 6cc8a01..0000000 Binary files a/Internal_design_documents/Experiments/MQ135.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ135.svg b/Internal_design_documents/Experiments/MQ135.svg deleted file mode 100644 index c5072ae..0000000 --- a/Internal_design_documents/Experiments/MQ135.svg +++ /dev/null @@ -1,1670 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ135_Regression.ipynb b/Internal_design_documents/Experiments/MQ135_Regression.ipynb deleted file mode 100644 index 636d956..0000000 --- a/Internal_design_documents/Experiments/MQ135_Regression.ipynb +++ /dev/null @@ -1,2061 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \t \n", - "0.6 \t \t \t \t \t 200.0 \t 200.0\n", - "0.7 \t \t \t 200.0 \t \t \t 100.0\n", - "0.8 \t 200.0 \t \t \t 200.0 \t 100.0 \t \n", - "0.9 \t \t \t 100.0 \t \t \t \n", - "1.0 \t 100.0 \t 200.0 \t \t 100.0 \t 10.0 \t 10.0\n", - "2.0 \t 10.0 \t \t 10.0 \t \t \t \n", - "3.0 \t \t 10.0 \t \t 10.0 \t \t \n", - "4.0 \t \t \t \t \t \t \n", - "5.0 \t \t \t \t \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n", - "10.0 \t \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CO2, CO, Alcohol, NH4, Tolueno, Acetona = sheetMQ135.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", CO2, \"\t\", CO, \"\t\", Alcohol, \"\t\", NH4, \"\t\", Tolueno, \"\t\", Acetona)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ135 = sheetMQ135.col_values(0)[2:]\n", - "MQ135_CO2 = sheetMQ135.col_values(1)[2:]\n", - "MQ135_CO = sheetMQ135.col_values(2)[2:]\n", - "MQ135_Alcohol = sheetMQ135.col_values(3)[2:]\n", - "MQ135_NH4 = sheetMQ135.col_values(4)[2:]\n", - "MQ135_Tolueno = sheetMQ135.col_values(5)[2:]\n", - "MQ135_Acetona = sheetMQ135.col_values(6)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "MQ135_CO2 =zero_to_nan(MQ135_CO2)\n", - "MQ135_CO =zero_to_nan(MQ135_CO)\n", - "MQ135_Alcohol =zero_to_nan(MQ135_Alcohol)\n", - "MQ135_NH4 =zero_to_nan(MQ135_NH4)\n", - "MQ135_Tolueno =zero_to_nan(MQ135_Tolueno)\n", - "MQ135_Acetona =zero_to_nan(MQ135_Acetona)" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCO2 = {'RsRo': x_MQ135, 'CO2': MQ135_CO2}\n", - "dataCO = {'RsRo': x_MQ135, 'CO': MQ135_CO}\n", - "dataAlcohol = {'RsRo': x_MQ135, 'Alcohol': MQ135_Alcohol}\n", - "dataNH4 = {'RsRo': x_MQ135, 'NH4': MQ135_NH4}\n", - "dataTolueno = {'RsRo': x_MQ135, 'Tolueno': MQ135_Tolueno}\n", - "dataAcetona = {'RsRo': x_MQ135, 'Acetona': MQ135_Acetona}\n", - "\n", - "dfMQ135_CO2 = pd.DataFrame(dataCO2)\n", - "dfMQ135_CO = pd.DataFrame(dataCO)\n", - "dfMQ135_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ135_NH4 = pd.DataFrame(dataNH4)\n", - "dfMQ135_Tolueno = pd.DataFrame(dataTolueno)\n", - "dfMQ135_Acetona = pd.DataFrame(dataAcetona)\n", - "\n", - "dfMQ135_CO2['CO2'] = pd.to_numeric(dfMQ135_CO2['CO2'])\n", - "dfMQ135_CO['CO'] = pd.to_numeric(dfMQ135_CO['CO'])\n", - "dfMQ135_Alcohol['Alcohol'] = pd.to_numeric(dfMQ135_Alcohol['Alcohol'])\n", - "dfMQ135_NH4['NH4'] = pd.to_numeric(dfMQ135_NH4['NH4'])\n", - "dfMQ135_Tolueno['Tolueno'] = pd.to_numeric(dfMQ135_Tolueno['Tolueno'])\n", - "dfMQ135_Acetona['Acetona'] = pd.to_numeric(dfMQ135_Acetona['Acetona'])\n", - "\n", - "dfMQ135_CO2['CO2'] = dfMQ135_CO2['CO2'].replace('',None, regex=True)\n", - "dfMQ135_CO['CO'] = dfMQ135_CO['CO'].replace('',None, regex=True)\n", - "dfMQ135_Alcohol['Alcohol'] = dfMQ135_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ135_NH4['NH4'] = dfMQ135_NH4['NH4'].replace('',None, regex=True)\n", - "dfMQ135_Tolueno['Tolueno'] = dfMQ135_Tolueno['Tolueno'].replace('',None, regex=True)\n", - "dfMQ135_Acetona['Acetona'] = dfMQ135_Acetona['Acetona'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ135_CO2.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO2\n", - "dataset2TrainCO2 = dfMQ135_CO2.copy()\n", - "dataset2TrainCO2.dropna(inplace=True)\n", - "X_trainCO2 = dataset2TrainCO2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO2 = dataset2TrainCO2['CO2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO2, y_trainCO2)\n", - "#Predict\n", - "CO2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_CO2 = CO2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ135_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ135_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train NH4\n", - "dataset2TrainNH4 = dfMQ135_NH4.copy()\n", - "dataset2TrainNH4.dropna(inplace=True)\n", - "X_trainNH4 = dataset2TrainNH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainNH4 = dataset2TrainNH4['NH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainNH4, y_trainNH4)\n", - "#Predict\n", - "NH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_NH4 = NH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Tolueno\n", - "dataset2TrainTolueno = dfMQ135_Tolueno.copy()\n", - "dataset2TrainTolueno.dropna(inplace=True)\n", - "X_trainTolueno = dataset2TrainTolueno.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainTolueno = dataset2TrainTolueno['Tolueno'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainTolueno, y_trainTolueno)\n", - "#Predict\n", - "Tolueno_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Tolueno = Tolueno_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Acetona\n", - "dataset2TrainAcetona = dfMQ135_Acetona.copy()\n", - "dataset2TrainAcetona.dropna(inplace=True)\n", - "X_trainAcetona = dataset2TrainAcetona.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAcetona = dataset2TrainAcetona['Acetona'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAcetona, y_trainAcetona)\n", - "#Predict\n", - "Acetona_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ135_Acetona = Acetona_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ135_CO2, x_MQ135, marker='o', linewidth=1, label='CO2')\n", - "plt.plot(MQ135_CO, x_MQ135, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ135_Alcohol, x_MQ135, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ135_NH4, x_MQ135, marker='o', linewidth=1, label='NH4')\n", - "plt.plot(MQ135_Tolueno, x_MQ135, marker='o', linewidth=1, label='Tolueno')\n", - "plt.plot(MQ135_Acetona, x_MQ135, marker='o', linewidth=1, label='Acetona')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-135 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ135.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ135.png')\n", - "plt.savefig('MQ135.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ2.eps b/Internal_design_documents/Experiments/MQ2.eps deleted file mode 100644 index e3041d9..0000000 --- a/Internal_design_documents/Experiments/MQ2.eps +++ /dev/null @@ -1,2749 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ2.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Mon Jul 1 21:45:42 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /A /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /minus ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 35 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/minus{838 0 106 272 732 355 _sc -106 355 _m -732 355 _l -732 272 _l -106 272 _l -106 355 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -94.7571 49.5 o -grestore -gsave -85.757140 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -353.389 49.5 o -grestore -gsave -344.389241 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -82.922784 49.5 m -82.922784 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -82.9228 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -172.61316 49.5 m -172.61316 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -172.613 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -218.156012 49.5 m -218.156012 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -218.156 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -250.46918 49.5 m -250.46918 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -250.469 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -275.53322 49.5 m -275.53322 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -275.533 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -296.012032 49.5 m -296.012032 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -296.012 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -313.326621 49.5 m -313.326621 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -313.327 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -328.3252 49.5 m -328.3252 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -328.325 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -341.554885 49.5 m -341.554885 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -341.555 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -431.245261 49.5 m -431.245261 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -431.245 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -476.788113 49.5 m -476.788113 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -476.788 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -509.101281 49.5 m -509.101281 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -509.101 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -534.165321 49.5 m -534.165321 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -534.165 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -554.644133 49.5 m -554.644133 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -554.644 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -571.958722 49.5 m -571.958722 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -571.959 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -gsave -50.000000 59.129063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/minus glyphshow - -18.685547 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 198.99 o -grestore -gsave -56.000000 194.529063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 49.919929 m -583.2 49.919929 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 49.9199 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 56.871557 m -583.2 56.871557 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 56.8716 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 103.999976 m -583.2 103.999976 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 104 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 127.930779 m -583.2 127.930779 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 127.931 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 144.909953 m -583.2 144.909953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 144.91 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 158.080024 m -583.2 158.080024 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 158.08 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 168.840755 m -583.2 168.840755 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 168.841 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 177.938824 m -583.2 177.938824 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 177.939 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 185.819929 m -583.2 185.819929 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 185.82 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 192.771557 m -583.2 192.771557 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 192.772 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 239.899976 m -583.2 239.899976 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 239.9 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 263.830779 m -583.2 263.830779 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 263.831 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 280.809953 m -583.2 280.809953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 280.81 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 293.980024 m -583.2 293.980024 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 293.98 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 304.740755 m -583.2 304.740755 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 304.741 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 313.838824 m -583.2 313.838824 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 313.839 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 321.719929 m -583.2 321.719929 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 321.72 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 328.671557 m -583.2 328.671557 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 328.672 o -grestore -gsave -43.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -459.264802 63.09 m -453.455098 103.999976 l -447.328428 127.930779 l -440.848198 144.909953 l -433.97109 158.080024 l -426.645301 168.840755 l -418.808172 177.938824 l -410.382929 185.819929 l -401.27409 192.771557 l -391.360854 198.99 l -103.827273 239.899976 l --1 239.909656 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -459.265 63.09 o -453.455 104 o -447.328 127.931 o -440.848 144.91 o -433.971 158.08 o -426.645 168.841 o -418.808 177.939 o -410.383 185.82 o -401.274 192.772 o -391.361 198.99 o -103.827 239.9 o --1 239.91 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -509.781177 63.09 m -497.5985 103.999976 l -483.931889 127.930779 l -468.369038 144.909953 l -450.297651 158.080024 l -428.75068 168.840755 l -402.065111 177.938824 l -366.996265 185.819929 l -315.730546 192.771557 l -218.716225 198.99 l --1 199.024668 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -509.781 63.09 o -497.598 104 o -483.932 127.931 o -468.369 144.91 o -450.298 158.08 o -428.751 168.841 o -402.065 177.939 o -366.996 185.82 o -315.731 192.772 o -218.716 198.99 o --1 199.025 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -556.18435 103.999976 l -551.833723 127.930779 l -547.307768 144.909953 l -542.591758 158.080024 l -537.669029 168.840755 l -532.520624 177.938824 l -527.124854 185.819929 l -521.456743 192.771557 l -515.487331 198.99 l -426.83337 239.899976 l --1 239.939434 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -556.184 104 o -551.834 127.931 o -547.308 144.91 o -542.592 158.08 o -537.669 168.841 o -532.521 177.939 o -527.125 185.82 o -521.457 192.772 o -515.487 198.99 o -426.833 239.9 o --1 239.939 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -438.111929 63.09 m -435.979375 103.999976 l -433.805547 127.930779 l -431.588816 144.909953 l -429.327455 158.080024 l -427.019629 168.840755 l -424.66339 177.938824 l -422.256661 185.819929 l -419.797232 192.771557 l -417.282744 198.99 l -388.451285 239.899976 l -349.563903 263.830779 l -289.591857 280.809953 l -152.235393 293.980024 l --1 293.986385 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -438.112 63.09 o -435.979 104 o -433.806 127.931 o -431.589 144.91 o -429.327 158.08 o -427.02 168.841 o -424.663 177.939 o -422.257 185.82 o -419.797 192.772 o -417.283 198.99 o -388.451 239.9 o -349.564 263.831 o -289.592 280.81 o -152.235 293.98 o --1 293.986 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -558.732334 63.09 m -554.472662 103.999976 l -550.045059 127.930779 l -545.435738 144.909953 l -540.629143 158.080024 l -535.607628 168.840755 l -530.351072 177.938824 l -524.836386 185.819929 l -519.036902 192.771557 l -512.921597 198.99 l -420.825596 239.899976 l --1 239.93888 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -558.732 63.09 o -554.473 104 o -550.045 127.931 o -545.436 144.91 o -540.629 158.08 o -535.608 168.841 o -530.351 177.939 o -524.836 185.82 o -519.037 192.772 o -512.922 198.99 o -420.826 239.9 o --1 239.939 o -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -509.781177 63.09 m -497.5985 103.999976 l -483.931889 127.930779 l -468.369038 144.909953 l -450.297651 158.080024 l -428.75068 168.840755 l -402.065111 177.938824 l -366.996265 185.819929 l -315.730546 192.771557 l -218.716225 198.99 l --1 199.024668 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -509.781 63.09 o -497.598 104 o -483.932 127.931 o -468.369 144.91 o -450.298 158.08 o -428.751 168.841 o -402.065 177.939 o -366.996 185.82 o -315.731 192.772 o -218.716 198.99 o --1 199.025 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -502.965625 252.44875 m -576.2 252.44875 l -577.533333 252.44875 578.2 253.115417 578.2 254.44875 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -502.965625 343.48 l -501.632292 343.48 500.965625 342.813333 500.965625 341.48 c -500.965625 254.44875 l -500.965625 253.115417 501.632292 252.44875 502.965625 252.44875 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -504.965625 335.38625 m -524.965625 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 335.386 o -grestore -0.000 setgray -gsave -532.965625 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -504.965625 320.714375 m -524.965625 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 320.714 o -grestore -0.000 setgray -gsave -532.965625 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -504.965625 306.0425 m -524.965625 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 306.043 o -grestore -0.000 setgray -gsave -532.965625 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -504.965625 291.370625 m -524.965625 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 291.371 o -grestore -0.000 setgray -gsave -532.965625 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -504.965625 276.69875 m -524.965625 276.69875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 276.699 o -grestore -0.000 setgray -gsave -532.965625 273.198750 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -504.965625 262.026875 m -524.965625 262.026875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -514.966 262.027 o -grestore -0.000 setgray -gsave -532.965625 258.526875 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /r glyphshow -10.141602 0.000000 m /o glyphshow -16.259766 0.000000 m /p glyphshow -22.607422 0.000000 m /a glyphshow -28.735352 0.000000 m /n glyphshow -35.073242 0.000000 m /e glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /two glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ2.png b/Internal_design_documents/Experiments/MQ2.png deleted file mode 100644 index 4a67441..0000000 Binary files a/Internal_design_documents/Experiments/MQ2.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ2.svg b/Internal_design_documents/Experiments/MQ2.svg deleted file mode 100644 index 3711ef1..0000000 --- a/Internal_design_documents/Experiments/MQ2.svg +++ /dev/null @@ -1,1659 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ2_Regression.ipynb b/Internal_design_documents/Experiments/MQ2_Regression.ipynb deleted file mode 100644 index 5c410c7..0000000 --- a/Internal_design_documents/Experiments/MQ2_Regression.ipynb +++ /dev/null @@ -1,2026 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "RS/R0 \t H2 \t LPG \t CH4 \t CO \t Alcohol \t Propane\n", - "0.1 \t \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \t \n", - "0.6 \t \t 2000.0 \t \t \t \t 2000.0\n", - "0.7 \t 2100.0 \t \t \t \t \t \n", - "0.8 \t \t 1000.0 \t \t \t \t 1000.0\n", - "0.9 \t \t 800.0 \t 5000.0 \t \t 5000.0 \t 800.0\n", - "1.0 \t 1000.0 \t \t \t \t \t \n", - "2.0 \t 201.0 \t \t 800.0 \t \t 500.0 \t \n", - "3.0 \t \t \t 200.0 \t 1000.0 \t 200.0 \t \n", - "4.0 \t \t \t \t 500.0 \t \t \n", - "5.0 \t \t \t \t 200.0 \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG, CH4, CO, Alcohol, propane = sheetMQ2.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", H2, \"\t\", LPG, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol, \"\t\", propane)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ2 = sheetMQ2.col_values(0)[2:]\n", - "MQ2_H2 = sheetMQ2.col_values(1)[2:]\n", - "MQ2_LPG = sheetMQ2.col_values(2)[2:]\n", - "MQ2_CH4 = sheetMQ2.col_values(3)[2:]\n", - "MQ2_CO = sheetMQ2.col_values(4)[2:]\n", - "MQ2_Alcohol = sheetMQ2.col_values(5)[2:]\n", - "MQ2_propane = sheetMQ2.col_values(6)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "MQ2_H2 =zero_to_nan(MQ2_H2)\n", - "MQ2_LPG =zero_to_nan(MQ2_LPG)\n", - "MQ2_CH4 =zero_to_nan(MQ2_CH4)\n", - "MQ2_CO =zero_to_nan(MQ2_CO)\n", - "MQ2_Alcohol =zero_to_nan(MQ2_Alcohol)\n", - "MQ2_propane =zero_to_nan(MQ2_propane)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ2, 'H2': MQ2_H2}\n", - "dataLPG = {'RsRo': x_MQ2, 'LPG': MQ2_LPG}\n", - "dataCH4 = {'RsRo': x_MQ2, 'CH4': MQ2_CH4}\n", - "dataCO = {'RsRo': x_MQ2, 'CO': MQ2_CO}\n", - "dataAlcohol = {'RsRo': x_MQ2, 'Alcohol': MQ2_Alcohol}\n", - "dataPropane = {'RsRo': x_MQ2, 'Propane': MQ2_propane}\n", - "\n", - "dfMQ2_H2 = pd.DataFrame(dataH2)\n", - "dfMQ2_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ2_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ2_CO = pd.DataFrame(dataCO)\n", - "dfMQ2_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ2_Propane = pd.DataFrame(dataPropane)\n", - "\n", - "dfMQ2_H2['H2'] = pd.to_numeric(dfMQ2_H2['H2'])\n", - "dfMQ2_LPG['LPG'] = pd.to_numeric(dfMQ2_LPG['LPG'])\n", - "dfMQ2_CH4['CH4'] = pd.to_numeric(dfMQ2_CH4['CH4'])\n", - "dfMQ2_CO['CO'] = pd.to_numeric(dfMQ2_CO['CO'])\n", - "dfMQ2_Alcohol['Alcohol'] = pd.to_numeric(dfMQ2_Alcohol['Alcohol'])\n", - "dfMQ2_Propane['Propane'] = pd.to_numeric(dfMQ2_Propane['Propane'])\n", - "\n", - "dfMQ2_H2['H2'] = dfMQ2_H2['H2'].replace('',None, regex=True)\n", - "dfMQ2_LPG['LPG'] = dfMQ2_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ2_CH4['CH4'] = dfMQ2_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ2_CO['CO'] = dfMQ2_CO['CO'].replace('',None, regex=True)\n", - "dfMQ2_Alcohol['Alcohol'] = dfMQ2_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ2_Propane['Propane'] = dfMQ2_Propane['Propane'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ2_H2.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainH2 = dfMQ2_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_H2 = H2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainLPG = dfMQ2_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainCH4 = dfMQ2_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainCO = dfMQ2_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainAlcohol = dfMQ2_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train\n", - "dataset2TrainPropane = dfMQ2_Propane.copy()\n", - "dataset2TrainPropane.dropna(inplace=True)\n", - "X_trainPropane = dataset2TrainPropane.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainPropane = dataset2TrainPropane['Propane'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainPropane, y_trainPropane)\n", - "#Predict\n", - "Propane_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ2_propane = Propane_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ2_H2, x_MQ2, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ2_LPG, x_MQ2, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ2_CH4, x_MQ2, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ2_CO, x_MQ2, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ2_Alcohol, x_MQ2, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ2_propane, x_MQ2, marker='o', linewidth=1, label='Propane')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-2 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ2.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ2.png')\n", - "plt.savefig('MQ2.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ3.eps b/Internal_design_documents/Experiments/MQ3.eps deleted file mode 100644 index f691d65..0000000 --- a/Internal_design_documents/Experiments/MQ3.eps +++ /dev/null @@ -1,3345 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ3.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Mon Jul 1 22:07:09 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /A /B /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /x /z /minus ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 38 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/B{{686 0 98 0 615 729 _sc -197 348 _m -197 81 _l -355 81 _l -408 81 447 92 473 114 _c -498 136 511 169 511 215 _c -511 260 498 293 473 315 _c -447 337 408 348 355 348 _c -197 348 _l -197 648 _m -197 428 _l -343 428 _l -391 428 426 437 450 455 _c -474 473 486 500 486 538 _c -486 574 474 602 450 620 _c -426 638 391 648 343 648 _c -197 648 _l -98 729 _m -350 729 _l -}_e{425 729 483 713 524 682 _c -564 650 585 606 585 549 _c -585 504 574 468 553 442 _c -532 416 502 399 462 393 _c -510 382 548 360 575 327 _c -601 294 615 253 615 204 _c -615 138 592 88 548 53 _c -504 17 441 0 360 0 _c -98 0 _l -98 729 _l -_cl}_e}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/x{592 0 29 0 559 547 _sc -549 547 _m -351 281 _l -559 0 _l -453 0 _l -294 215 _l -135 0 _l -29 0 _l -241 286 _l -47 547 _l -153 547 _l -298 352 _l -443 547 _l -549 547 _l -_cl}_d -/z{525 0 43 0 482 547 _sc -55 547 _m -482 547 _l -482 465 _l -144 72 _l -482 72 _l -482 0 _l -43 0 _l -43 82 _l -381 475 _l -55 475 _l -55 547 _l -_cl}_d -/minus{838 0 106 272 732 355 _sc -106 355 _m -732 355 _l -732 272 _l -106 272 _l -106 355 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -121.567 49.5 o -grestore -gsave -109.566941 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/minus glyphshow - -18.685547 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -305.474 49.5 o -grestore -gsave -296.474439 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -489.382 49.5 o -grestore -gsave -480.381938 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -80.767292 49.5 m -80.767292 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -80.7673 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -93.079309 49.5 m -93.079309 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -93.0793 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -103.744463 49.5 m -103.744463 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -103.744 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -113.151795 49.5 m -113.151795 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -113.152 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -176.928614 49.5 m -176.928614 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -176.929 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -209.313117 49.5 m -209.313117 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -209.313 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -232.290288 49.5 m -232.290288 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -232.29 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -250.112766 49.5 m -250.112766 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -250.113 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -264.674791 49.5 m -264.674791 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -264.675 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -276.986807 49.5 m -276.986807 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -276.987 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -287.651961 49.5 m -287.651961 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -287.652 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -297.059294 49.5 m -297.059294 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -297.059 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -360.836113 49.5 m -360.836113 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -360.836 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -393.220616 49.5 m -393.220616 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -393.221 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -416.197786 49.5 m -416.197786 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -416.198 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -434.020264 49.5 m -434.020264 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -434.02 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -448.582289 49.5 m -448.582289 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -448.582 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -460.894306 49.5 m -460.894306 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -460.894 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -471.559459 49.5 m -471.559459 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -471.559 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -480.966792 49.5 m -480.966792 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -480.967 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -544.743611 49.5 m -544.743611 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -544.744 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -577.128114 49.5 m -577.128114 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -577.128 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 133.48 o -grestore -gsave -56.000000 129.018895 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 234.185 o -grestore -gsave -56.000000 230.223979 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.429062 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 80.823285 m -583.2 80.823285 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 80.8233 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 93.405251 m -583.2 93.405251 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 93.4053 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 103.164582 m -583.2 103.164582 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 103.165 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.138536 m -583.2 111.138536 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.139 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 117.880418 m -583.2 117.880418 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 117.88 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 123.720502 m -583.2 123.720502 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 123.721 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 128.871821 m -583.2 128.871821 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 128.872 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 163.795084 m -583.2 163.795084 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 163.795 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 181.528369 m -583.2 181.528369 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 181.528 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 194.110335 m -583.2 194.110335 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 194.11 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 203.869665 m -583.2 203.869665 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 203.87 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 211.843619 m -583.2 211.843619 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 211.844 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 218.585502 m -583.2 218.585502 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 218.586 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 224.425585 m -583.2 224.425585 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 224.426 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 229.576904 m -583.2 229.576904 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 229.577 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 264.500167 m -583.2 264.500167 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 264.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 282.233452 m -583.2 282.233452 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 282.233 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 294.815418 m -583.2 294.815418 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 294.815 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 304.574749 m -583.2 304.574749 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 304.575 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 312.548703 m -583.2 312.548703 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 312.549 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.290585 m -583.2 319.290585 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.291 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 325.130669 m -583.2 325.130669 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 325.131 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 330.281988 m -583.2 330.281988 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 330.282 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -392.948486 63.09 m -383.772523 80.823285 l -373.403862 93.405251 l -361.485466 103.164582 l -347.471271 111.138536 l -330.463555 117.880418 l -308.82612 123.720502 l -279.055499 128.871821 l -231.058335 133.479833 l --1 133.518101 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -392.948 63.09 o -383.773 80.8233 o -373.404 93.4053 o -361.485 103.165 o -347.471 111.139 o -330.464 117.88 o -308.826 123.721 o -279.055 128.872 o -231.058 133.48 o --1 133.518 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -464.779903 63.09 m -462.67343 80.823285 l -460.509892 93.405251 l -458.286113 103.164582 l -455.99864 111.138536 l -453.643718 117.880418 l -451.217247 123.720502 l -448.714743 128.871821 l -446.131288 133.479833 l -414.294532 163.795084 l -360.553916 181.528369 l -103.827273 194.110335 l --1 194.115903 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -464.78 63.09 o -462.673 80.8233 o -460.51 93.4053 o -458.286 103.165 o -455.999 111.139 o -453.644 117.88 o -451.217 123.721 o -448.715 128.872 o -446.131 133.48 o -414.295 163.795 o -360.554 181.528 o -103.827 194.11 o --1 194.116 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -560.212977 80.823285 l -560.052907 93.405251 l -559.892516 103.164582 l -559.731801 111.138536 l -559.570763 117.880418 l -559.409399 123.720502 l -559.247709 128.871821 l -559.085691 133.479833 l -557.44717 163.795084 l -555.774331 181.528369 l -554.065703 194.110335 l -552.319723 203.869665 l -550.534721 211.843619 l -548.708913 218.585502 l -546.840388 224.425585 l -544.927101 229.576904 l -542.966854 234.184916 l -520.15285 264.500167 l -488.093684 282.233452 l -433.700143 294.815418 l -136.128966 304.574749 l --1 304.5807 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -560.213 80.8233 o -560.053 93.4053 o -559.893 103.165 o -559.732 111.139 o -559.571 117.88 o -559.409 123.721 o -559.248 128.872 o -559.086 133.48 o -557.447 163.795 o -555.774 181.528 o -554.066 194.11 o -552.32 203.87 o -550.535 211.844 o -548.709 218.586 o -546.84 224.426 o -544.927 229.577 o -542.967 234.185 o -520.153 264.5 o -488.094 282.233 o -433.7 294.815 o -136.129 304.575 o --1 304.581 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -478.329351 63.09 m -478.148335 80.823285 l -477.966908 93.405251 l -477.785068 103.164582 l -477.602814 111.138536 l -477.420142 117.880418 l -477.237051 123.720502 l -477.05354 128.871821 l -476.869607 133.479833 l -475.00659 163.795084 l -473.099078 181.528369 l -471.144892 194.110335 l -469.141691 203.869665 l -467.086953 211.843619 l -464.977955 218.585502 l -462.811755 224.425585 l -460.585163 229.576904 l -458.294713 234.184916 l -430.836039 264.500167 l -388.655372 282.233452 l -293.621463 294.815418 l --1 294.831054 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -478.329 63.09 o -478.148 80.8233 o -477.967 93.4053 o -477.785 103.165 o -477.603 111.139 o -477.42 117.88 o -477.237 123.721 o -477.054 128.872 o -476.87 133.48 o -475.007 163.795 o -473.099 181.528 o -471.145 194.11 o -469.142 203.87 o -467.087 211.844 o -464.978 218.586 o -462.812 224.426 o -460.585 229.577 o -458.295 234.185 o -430.836 264.5 o -388.655 282.233 o -293.621 294.815 o --1 294.831 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -383.276353 63.09 m -383.107316 80.823285 l -382.937921 93.405251 l -382.768165 103.164582 l -382.598048 111.138536 l -382.427567 117.880418 l -382.256722 123.720502 l -382.085511 128.871821 l -381.913932 133.479833 l -380.177559 163.795084 l -378.402597 181.528369 l -376.587291 194.110335 l -374.729765 203.869665 l -372.828009 211.843619 l -370.879863 218.585502 l -368.883009 224.425585 l -366.834947 229.576904 l -364.732984 234.184916 l -339.960906 264.500167 l -303.860849 282.233452 l -236.187159 294.815418 l --1 294.82801 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -383.276 63.09 o -383.107 80.8233 o -382.938 93.4053 o -382.768 103.165 o -382.598 111.139 o -382.428 117.88 o -382.257 123.721 o -382.086 128.872 o -381.914 133.48 o -380.178 163.795 o -378.403 181.528 o -376.587 194.11 o -374.73 203.87 o -372.828 211.844 o -370.88 218.586 o -368.883 224.426 o -366.835 229.577 o -364.733 234.185 o -339.961 264.5 o -303.861 282.233 o -236.187 294.815 o --1 294.828 o -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -487.352665 63.09 m -487.182137 80.823285 l -487.011244 93.405251 l -486.839985 103.164582 l -486.668358 111.138536 l -486.496361 117.880418 l -486.323993 123.720502 l -486.151252 128.871821 l -485.978137 133.479833 l -484.226028 163.795084 l -482.43462 181.528369 l -480.602108 194.110335 l -478.726563 203.869665 l -476.805914 211.843619 l -474.837938 218.585502 l -472.820245 224.425585 l -470.750256 229.576904 l -468.625188 234.184916 l -443.528954 264.500167 l -406.729815 282.233452 l -336.439164 294.815418 l --1 294.833322 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -487.353 63.09 o -487.182 80.8233 o -487.011 93.4053 o -486.84 103.165 o -486.668 111.139 o -486.496 117.88 o -486.324 123.721 o -486.151 128.872 o -485.978 133.48 o -484.226 163.795 o -482.435 181.528 o -480.602 194.11 o -478.727 203.87 o -476.806 211.844 o -474.838 218.586 o -472.82 224.426 o -470.75 229.577 o -468.625 234.185 o -443.529 264.5 o -406.73 282.233 o -336.439 294.815 o --1 294.833 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -88 54.5 m -159.890625 54.5 l -161.223958 54.5 161.890625 55.166667 161.890625 56.5 c -161.890625 143.53125 l -161.890625 144.864583 161.223958 145.53125 159.890625 145.53125 c -88 145.53125 l -86.666667 145.53125 86 144.864583 86 143.53125 c -86 56.5 l -86 55.166667 86.666667 54.5 88 54.5 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -90 137.4375 m -110 137.4375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 137.438 o -grestore -0.000 setgray -gsave -118.000000 133.937500 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -90 122.765625 m -110 122.765625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 122.766 o -grestore -0.000 setgray -gsave -118.000000 119.265625 translate -0.000000 rotate -0.000000 0.000000 m /B glyphshow -6.860352 0.000000 m /e glyphshow -13.012695 0.000000 m /n glyphshow -19.350586 0.000000 m /z glyphshow -24.599609 0.000000 m /i glyphshow -27.377930 0.000000 m /n glyphshow -33.715820 0.000000 m /e glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -90 108.09375 m -110 108.09375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 108.094 o -grestore -0.000 setgray -gsave -118.000000 104.593750 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -90 93.421875 m -110 93.421875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 93.4219 o -grestore -0.000 setgray -gsave -118.000000 89.921875 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /e glyphshow -13.671875 0.000000 m /x glyphshow -19.589844 0.000000 m /a glyphshow -25.717773 0.000000 m /n glyphshow -32.055664 0.000000 m /e glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -90 78.75 m -110 78.75 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 78.75 o -grestore -0.000 setgray -gsave -118.000000 75.250000 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.549 0.337 0.294 setrgbcolor -gsave -90 64.078125 m -110 64.078125 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.549 0.337 0.294 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 64.0781 o -grestore -0.000 setgray -gsave -118.000000 60.578125 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /three glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ3.png b/Internal_design_documents/Experiments/MQ3.png deleted file mode 100644 index 9364547..0000000 Binary files a/Internal_design_documents/Experiments/MQ3.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ3.svg b/Internal_design_documents/Experiments/MQ3.svg deleted file mode 100644 index 97681d7..0000000 --- a/Internal_design_documents/Experiments/MQ3.svg +++ /dev/null @@ -1,1965 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ303A.eps b/Internal_design_documents/Experiments/MQ303A.eps deleted file mode 100644 index 4b2ac0f..0000000 --- a/Internal_design_documents/Experiments/MQ303A.eps +++ /dev/null @@ -1,2475 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ303A.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:35:37 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /A /B /C /H /I /M /P /Q /R /a /b /c /d /e /f /g /h /i /l /n /o /p /r /s /t /u /minus ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 35 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/B{{686 0 98 0 615 729 _sc -197 348 _m -197 81 _l -355 81 _l -408 81 447 92 473 114 _c -498 136 511 169 511 215 _c -511 260 498 293 473 315 _c -447 337 408 348 355 348 _c -197 348 _l -197 648 _m -197 428 _l -343 428 _l -391 428 426 437 450 455 _c -474 473 486 500 486 538 _c -486 574 474 602 450 620 _c -426 638 391 648 343 648 _c -197 648 _l -98 729 _m -350 729 _l -}_e{425 729 483 713 524 682 _c -564 650 585 606 585 549 _c -585 504 574 468 553 442 _c -532 416 502 399 462 393 _c -510 382 548 360 575 327 _c -601 294 615 253 615 204 _c -615 138 592 88 548 53 _c -504 17 441 0 360 0 _c -98 0 _l -98 729 _l -_cl}_e}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/I{295 0 98 0 197 729 _sc -98 729 _m -197 729 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/g{{635 0 55 -207 544 560 _sc -454 280 _m -454 344 440 395 414 431 _c -387 467 349 485 301 485 _c -253 485 215 467 188 431 _c -161 395 148 344 148 280 _c -148 215 161 165 188 129 _c -215 93 253 75 301 75 _c -349 75 387 93 414 129 _c -440 165 454 215 454 280 _c -544 68 _m -544 -24 523 -93 482 -139 _c -440 -184 377 -207 292 -207 _c -260 -207 231 -204 203 -200 _c -175 -195 147 -188 121 -178 _c -}_e{121 -91 _l -147 -105 173 -115 199 -122 _c -225 -129 251 -133 278 -133 _c -336 -133 380 -117 410 -87 _c -439 -56 454 -10 454 52 _c -454 96 _l -435 64 411 40 382 24 _c -353 8 319 0 279 0 _c -211 0 157 25 116 76 _c -75 127 55 195 55 280 _c -55 364 75 432 116 483 _c -157 534 211 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -454 547 _l -544 547 _l -}_e{544 68 _l -_cl}_e}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/u{634 0 85 -13 543 560 _sc -85 216 _m -85 547 _l -175 547 _l -175 219 _l -175 167 185 129 205 103 _c -225 77 255 64 296 64 _c -344 64 383 79 411 110 _c -439 141 453 183 453 237 _c -453 547 _l -543 547 _l -543 0 _l -453 0 _l -453 84 _l -431 50 405 26 377 10 _c -348 -5 315 -13 277 -13 _c -214 -13 166 6 134 45 _c -101 83 85 140 85 216 _c -311 560 _m -311 560 _l -_cl}_d -/minus{838 0 106 272 732 355 _sc -106 355 _m -732 355 _l -732 272 _l -106 272 _l -106 355 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -208.578 49.5 o -grestore -gsave -199.578408 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -433.735 49.5 o -grestore -gsave -424.734825 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -90.848904 49.5 m -90.848904 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -90.8489 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -118.979662 49.5 m -118.979662 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -118.98 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -140.799573 49.5 m -140.799573 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -140.8 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -158.627739 49.5 m -158.627739 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -158.628 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -173.701238 49.5 m -173.701238 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -173.701 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -186.758497 49.5 m -186.758497 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -186.758 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -198.275816 49.5 m -198.275816 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -198.276 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -276.357243 49.5 m -276.357243 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -276.357 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -316.00532 49.5 m -316.00532 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -316.005 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -344.136079 49.5 m -344.136079 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -344.136 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -365.95599 49.5 m -365.95599 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -365.956 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -383.784155 49.5 m -383.784155 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -383.784 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -398.857655 49.5 m -398.857655 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -398.858 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -411.914914 49.5 m -411.914914 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -411.915 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -423.432232 49.5 m -423.432232 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -423.432 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -501.51366 49.5 m -501.51366 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -501.514 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -541.161737 49.5 m -541.161737 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -541.162 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -569.292495 49.5 m -569.292495 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -569.292 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -50.000000 170.949781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/minus glyphshow - -18.685547 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.429062 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -43.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -557.600034 91.260953 l -554.74642 111.248562 l -551.807021 126.752157 l -548.776517 139.419515 l -545.64908 150.129615 l -542.418304 159.407125 l -539.077126 167.590468 l -535.617732 174.910719 l -491.960968 223.069281 l -411.064344 251.240234 l --1 251.276708 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -557.6 91.261 o -554.746 111.249 o -551.807 126.752 o -548.777 139.42 o -545.649 150.13 o -542.418 159.407 o -539.077 167.59 o -535.618 174.911 o -491.961 223.069 o -411.064 251.24 o --1 251.277 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -314.494349 63.09 m -313.214778 91.260953 l -311.918241 111.248562 l -310.604282 126.752157 l -309.272426 139.419515 l -307.922179 150.129615 l -306.553025 159.407125 l -305.164429 167.590468 l -303.755829 174.910719 l -288.42676 223.069281 l -270.239671 251.240234 l -247.878892 271.227843 l -218.839986 286.731438 l -177.349913 299.398797 l -103.827273 310.108896 l --1 310.113209 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -314.494 63.09 o -313.215 91.261 o -311.918 111.249 o -310.604 126.752 o -309.272 139.42 o -307.922 150.13 o -306.553 159.407 o -305.164 167.59 o -303.756 174.911 o -288.427 223.069 o -270.24 251.24 o -247.879 271.228 o -218.84 286.731 o -177.35 299.399 o -103.827 310.109 o --1 310.113 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -440.034735 63.09 m -438.112088 91.260953 l -436.150878 111.248562 l -434.149527 126.752157 l -432.106357 139.419515 l -430.019582 150.129615 l -427.887302 159.407125 l -425.707487 167.590468 l -423.477969 174.910719 l -397.841466 223.069281 l -362.998781 251.240234 l -308.363366 271.227843 l -173.406707 286.731438 l --1 286.741232 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -440.035 63.09 o -438.112 91.261 o -436.151 111.249 o -434.15 126.752 o -432.106 139.42 o -430.02 150.13 o -427.887 159.407 o -425.707 167.59 o -423.478 174.911 o -397.841 223.069 o -362.999 251.24 o -308.363 271.228 o -173.407 286.731 o --1 286.741 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -490.575 296.464375 m -576.2 296.464375 l -577.533333 296.464375 578.2 297.131042 578.2 298.464375 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -490.575 343.48 l -489.241667 343.48 488.575 342.813333 488.575 341.48 c -488.575 298.464375 l -488.575 297.131042 489.241667 296.464375 490.575 296.464375 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -492.575 335.38625 m -512.575 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -502.575 335.386 o -grestore -0.000 setgray -gsave -520.575000 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /I glyphshow -2.949219 0.000000 m /s glyphshow -8.159180 0.000000 m /o glyphshow -14.277344 0.000000 m /hyphen glyphshow -17.885742 0.000000 m /B glyphshow -24.746094 0.000000 m /u glyphshow -31.083984 0.000000 m /t glyphshow -35.004883 0.000000 m /a glyphshow -41.132812 0.000000 m /n glyphshow -47.470703 0.000000 m /o glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -492.575 320.714375 m -512.575 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -502.575 320.714 o -grestore -0.000 setgray -gsave -520.575000 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /i glyphshow -10.297852 0.000000 m /d glyphshow -16.645508 0.000000 m /r glyphshow -20.756836 0.000000 m /o glyphshow -26.875000 0.000000 m /g glyphshow -33.222656 0.000000 m /e glyphshow -39.375000 0.000000 m /n glyphshow -45.712891 0.000000 m /o glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -492.575 306.0425 m -512.575 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -502.575 306.043 o -grestore -0.000 setgray -gsave -520.575000 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -222.820312 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /three glyphshow -147.996094 0.000000 m /zero glyphshow -155.630859 0.000000 m /three glyphshow -163.265625 0.000000 m /A glyphshow -171.474609 0.000000 m /space glyphshow -175.289062 0.000000 m /d glyphshow -182.906250 0.000000 m /a glyphshow -190.259766 0.000000 m /t glyphshow -194.964844 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ303A.png b/Internal_design_documents/Experiments/MQ303A.png deleted file mode 100644 index 88cb5d0..0000000 Binary files a/Internal_design_documents/Experiments/MQ303A.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ303A.svg b/Internal_design_documents/Experiments/MQ303A.svg deleted file mode 100644 index 79a4a31..0000000 --- a/Internal_design_documents/Experiments/MQ303A.svg +++ /dev/null @@ -1,1512 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ303_Regression.ipynb b/Internal_design_documents/Experiments/MQ303_Regression.ipynb deleted file mode 100644 index 8791c7d..0000000 --- a/Internal_design_documents/Experiments/MQ303_Regression.ipynb +++ /dev/null @@ -1,1827 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \n", - "0.02 \t \t \t \n", - "0.03 \t \t \t \n", - "0.04 \t \t \t \n", - "0.05 \t \t \t \n", - "0.06 \t \t \t \n", - "0.07 \t \t \t \n", - "0.08 \t \t \t \n", - "0.09 \t \t \t \n", - "0.1 \t 3000.0 \t \t 1000.0\n", - "0.2 \t \t 300.0 \t \n", - "0.3 \t 300.0 \t 100.0 \t \n", - "0.4 \t 100.0 \t \t 30.0\n", - "0.5 \t \t \t \n", - "0.6 \t \t \t 10.0\n", - "0.7 \t \t \t \n", - "0.8 \t \t 10.0 \t \n", - "0.9 \t \t \t \n", - "1.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Iso_butano, Hidrogeno , Alcohol = sheetMQ303A.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", Iso_butano, \"\t\", Hidrogeno, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ303A = sheetMQ303A.col_values(0)[2:]\n", - "MQ303A_Iso_butano = sheetMQ303A.col_values(1)[2:]\n", - "MQ303A_Hidrogeno = sheetMQ303A.col_values(2)[2:]\n", - "MQ303A_Alcohol = sheetMQ303A.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "MQ303A_Iso_butano =zero_to_nan(MQ303A_Iso_butano)\n", - "MQ303A_Hidrogeno =zero_to_nan(MQ303A_Hidrogeno)\n", - "MQ303A_Alcohol =zero_to_nan(MQ303A_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataIso_Butano = {'RsRo': x_MQ303A, 'Iso_Butano': MQ303A_Iso_butano}\n", - "dataHidrogeno = {'RsRo': x_MQ303A, 'Hidrogeno': MQ303A_Hidrogeno}\n", - "dataAlcohol = {'RsRo': x_MQ303A, 'Alcohol': MQ303A_Alcohol}\n", - "\n", - "dfMQ303A_Iso_Butano = pd.DataFrame(dataIso_Butano)\n", - "dfMQ303A_Hidrogeno = pd.DataFrame(dataHidrogeno)\n", - "dfMQ303A_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ303A_Iso_Butano['Iso_Butano'] = pd.to_numeric(dfMQ303A_Iso_Butano['Iso_Butano'])\n", - "dfMQ303A_Hidrogeno['Hidrogeno'] = pd.to_numeric(dfMQ303A_Hidrogeno['Hidrogeno'])\n", - "dfMQ303A_Alcohol['Alchol'] = pd.to_numeric(dfMQ303A_Alcohol['Alcohol'])\n", - "\n", - "dfMQ303A_Iso_Butano['Iso_Butano'] = dfMQ303A_Iso_Butano['Iso_Butano'].replace('',None, regex=True)\n", - "dfMQ303A_Hidrogeno['Hidrogeno'] = dfMQ303A_Hidrogeno['Hidrogeno'].replace('',None, regex=True)\n", - "dfMQ303A_Alcohol['Alchol'] = dfMQ303A_Alcohol['Alchol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ303A_Iso_Butano.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Iso-Butano\n", - "dataset2TrainIso_Butano = dfMQ303A_Iso_Butano.copy()\n", - "dataset2TrainIso_Butano.dropna(inplace=True)\n", - "X_trainIso_Butano = dataset2TrainIso_Butano.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainIso_Butano = dataset2TrainIso_Butano['Iso_Butano'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainIso_Butano, y_trainIso_Butano)\n", - "#Predict\n", - "Iso_Butano_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Iso_Butano = Iso_Butano_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Hidrogeno\n", - "dataset2TrainHidrogeno = dfMQ303A_Hidrogeno.copy()\n", - "dataset2TrainHidrogeno.dropna(inplace=True)\n", - "X_trainHidrogeno = dataset2TrainHidrogeno.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainHidrogeno = dataset2TrainHidrogeno['Hidrogeno'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainHidrogeno, y_trainHidrogeno)\n", - "#Predict\n", - "Hidrogeno_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Hidrogeno = Hidrogeno_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alchol\n", - "dataset2TrainAlchol = dfMQ303A_Alcohol.copy()\n", - "dataset2TrainAlchol.dropna(inplace=True)\n", - "X_trainAlchol = dataset2TrainAlchol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlchol = dataset2TrainAlchol['Alchol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlchol, y_trainAlchol)\n", - "#Predict\n", - "Alchol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ303A_Alchol = Alchol_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ303A_Iso_Butano, x_MQ303A, marker='o', linewidth=1, label='Iso-Butano')\n", - "plt.plot(MQ303A_Hidrogeno, x_MQ303A, marker='o', linewidth=1, label='Hidrogeno')\n", - "plt.plot(MQ303A_Alchol, x_MQ303A, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-303A data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ303A.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ303A.png')\n", - "plt.savefig('MQ303A.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ309A.eps b/Internal_design_documents/Experiments/MQ309A.eps deleted file mode 100644 index fd0e2b1..0000000 --- a/Internal_design_documents/Experiments/MQ309A.eps +++ /dev/null @@ -1,2561 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ309A.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:23:34 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /nine /A /C /H /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 33 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/nine{{636 0 63 -13 566 742 _sc -110 15 _m -110 105 _l -134 93 159 84 185 78 _c -210 72 235 69 260 69 _c -324 69 374 90 408 134 _c -442 178 462 244 468 334 _c -448 306 424 284 396 269 _c -367 254 335 247 300 247 _c -226 247 168 269 126 313 _c -84 357 63 417 63 494 _c -63 568 85 628 129 674 _c -173 719 232 742 306 742 _c -390 742 455 709 499 645 _c -543 580 566 486 566 364 _c -}_e{566 248 538 157 484 89 _c -429 21 356 -13 264 -13 _c -239 -13 214 -10 189 -6 _c -163 -2 137 5 110 15 _c -306 324 _m -350 324 385 339 411 369 _c -437 399 450 441 450 494 _c -450 546 437 588 411 618 _c -385 648 350 664 306 664 _c -262 664 227 648 201 618 _c -175 588 162 546 162 494 _c -162 441 175 399 201 369 _c -227 339 262 324 306 324 _c -_cl}_e}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -97.735 49.5 o -grestore -gsave -88.735032 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -302.727 49.5 o -grestore -gsave -293.726723 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -507.718 49.5 o -grestore -gsave -498.718413 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -88.355127 49.5 m -88.355127 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -88.3551 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -159.44368 49.5 m -159.44368 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -159.444 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -195.540925 49.5 m -195.540925 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -195.541 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -221.152328 49.5 m -221.152328 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -221.152 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -241.018075 49.5 m -241.018075 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -241.018 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -257.249573 49.5 m -257.249573 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -257.25 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -270.973108 49.5 m -270.973108 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -270.973 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -282.860975 49.5 m -282.860975 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -282.861 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -293.346818 49.5 m -293.346818 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -293.347 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -364.435371 49.5 m -364.435371 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -364.435 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -400.532615 49.5 m -400.532615 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -400.533 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -426.144018 49.5 m -426.144018 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -426.144 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -446.009766 49.5 m -446.009766 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -446.01 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -462.241263 49.5 m -462.241263 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -462.241 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -475.964799 49.5 m -475.964799 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -475.965 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -487.852666 49.5 m -487.852666 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -487.853 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -498.338508 49.5 m -498.338508 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -498.339 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -569.427061 49.5 m -569.427061 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -569.427 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -463.913146 63.09 m -458.325962 91.260953 l -452.364515 111.248562 l -445.975042 126.752157 l -439.091293 139.419515 l -431.630334 150.129615 l -423.486432 159.407125 l -414.521847 167.590468 l -404.552446 174.910719 l --1 175.005663 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -463.913 63.09 o -458.326 91.261 o -452.365 111.249 o -445.975 126.752 o -439.091 139.42 o -431.63 150.13 o -423.486 159.407 o -414.522 167.59 o -404.552 174.911 o --1 175.006 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -558.882027 91.260953 l -557.36594 111.248562 l -555.823587 126.752157 l -554.254042 139.419515 l -552.656328 150.129615 l -551.029416 159.407125 l -549.372219 167.590468 l -547.683587 174.910719 l -528.760177 223.069281 l -504.697505 251.240234 l -471.619165 271.227843 l -418.397677 286.731438 l -266.649507 299.398797 l --1 299.412741 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -558.882 91.261 o -557.366 111.249 o -555.824 126.752 o -554.254 139.42 o -552.656 150.13 o -551.029 159.407 o -549.372 167.59 o -547.684 174.911 o -528.76 223.069 o -504.698 251.24 o -471.619 271.228 o -418.398 286.731 o -266.65 299.399 o --1 299.413 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -406.857518 63.09 m -401.942826 91.260953 l -396.740886 111.248562 l -391.216024 126.752157 l -385.325479 139.419515 l -379.017389 150.129615 l -372.228014 159.407125 l -364.877802 167.590468 l -356.865685 174.910719 l -103.827273 223.069281 l --1 223.083658 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -406.858 63.09 o -401.943 91.261 o -396.741 111.249 o -391.216 126.752 o -385.325 139.42 o -379.017 150.13 o -372.228 159.407 o -364.878 167.59 o -356.866 174.911 o -103.827 223.069 o --1 223.084 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -544.207088 63.09 m -542.416567 91.260953 l -540.589295 111.248562 l -538.72373 126.752157 l -536.818235 139.419515 l -534.871061 150.129615 l -532.880345 159.407125 l -530.844094 167.590468 l -528.760177 174.910719 l -504.697505 223.069281 l -471.619165 251.240234 l -418.397677 271.227843 l -266.649507 286.731438 l --1 286.74793 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -544.207 63.09 o -542.417 91.261 o -540.589 111.249 o -538.724 126.752 o -536.818 139.42 o -534.871 150.13 o -532.88 159.407 o -530.844 167.59 o -528.76 174.911 o -504.698 223.069 o -471.619 251.24 o -418.398 271.228 o -266.65 286.731 o --1 286.748 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -507.7 281.7925 m -576.2 281.7925 l -577.533333 281.7925 578.2 282.459167 578.2 283.7925 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -507.7 343.48 l -506.366667 343.48 505.7 342.813333 505.7 341.48 c -505.7 283.7925 l -505.7 282.459167 506.366667 281.7925 507.7 281.7925 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -509.7 335.38625 m -529.7 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 335.386 o -grestore -0.000 setgray -gsave -537.700000 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -509.7 320.714375 m -529.7 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 320.714 o -grestore -0.000 setgray -gsave -537.700000 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -509.7 306.0425 m -529.7 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 306.043 o -grestore -0.000 setgray -gsave -537.700000 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -509.7 291.370625 m -529.7 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 291.371 o -grestore -0.000 setgray -gsave -537.700000 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -222.820312 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /three glyphshow -147.996094 0.000000 m /zero glyphshow -155.630859 0.000000 m /nine glyphshow -163.265625 0.000000 m /A glyphshow -171.474609 0.000000 m /space glyphshow -175.289062 0.000000 m /d glyphshow -182.906250 0.000000 m /a glyphshow -190.259766 0.000000 m /t glyphshow -194.964844 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ309A.png b/Internal_design_documents/Experiments/MQ309A.png deleted file mode 100644 index 52fc603..0000000 Binary files a/Internal_design_documents/Experiments/MQ309A.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ309A.svg b/Internal_design_documents/Experiments/MQ309A.svg deleted file mode 100644 index dc5dbdd..0000000 --- a/Internal_design_documents/Experiments/MQ309A.svg +++ /dev/null @@ -1,1536 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ309_Regression.ipynb b/Internal_design_documents/Experiments/MQ309_Regression.ipynb deleted file mode 100644 index e215a7f..0000000 --- a/Internal_design_documents/Experiments/MQ309_Regression.ipynb +++ /dev/null @@ -1,1877 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t \t \t \n", - "0.3 \t 7000.0 \t \t \t \n", - "0.4 \t \t \t \t \n", - "0.5 \t \t \t \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t \t \t 3000.0 \t \n", - "0.8 \t \t \t \t \n", - "0.9 \t \t \t \t \n", - "1.0 \t 1000.0 \t \t 1000.0 \t \n", - "2.0 \t 300.0 \t \t 300.0 \t \n", - "3.0 \t \t \t \t 7000.0\n", - "4.0 \t \t 7000.0 \t \t 3000.0\n", - "5.0 \t \t 3000.0 \t \t 1000.0\n", - "6.0 \t \t 1000.0 \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CH4, CO , H2, Alcohol = sheetMQ309A.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", CH4, \"\t\", CO, \"\t\", H2, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ309A = sheetMQ309A.col_values(0)[2:]\n", - "MQ309A_CH4 = sheetMQ309A.col_values(1)[2:]\n", - "MQ309A_CO = sheetMQ309A.col_values(2)[2:]\n", - "MQ309A_H2 = sheetMQ309A.col_values(3)[2:]\n", - "MQ309A_Alcohol = sheetMQ309A.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "MQ309A_CH4 =zero_to_nan(MQ309A_CH4)\n", - "MQ309A_CO =zero_to_nan(MQ309A_CO)\n", - "MQ309A_H2 =zero_to_nan(MQ309A_H2)\n", - "MQ309A_Alcohol =zero_to_nan(MQ309A_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCH4 = {'RsRo': x_MQ309A, 'CH4': MQ309A_CH4}\n", - "dataCO = {'RsRo': x_MQ309A, 'CO': MQ309A_CO}\n", - "dataH2 = {'RsRo': x_MQ309A, 'H2': MQ309A_H2}\n", - "dataAlcohol = {'RsRo': x_MQ309A, 'Alcohol': MQ309A_Alcohol}\n", - "\n", - "dfMQ309A_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ309A_CO = pd.DataFrame(dataCO)\n", - "dfMQ309A_H2 = pd.DataFrame(dataH2)\n", - "dfMQ309A_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ309A_CH4['CH4'] = pd.to_numeric(dfMQ309A_CH4['CH4'])\n", - "dfMQ309A_CO['CO'] = pd.to_numeric(dfMQ309A_CO['CO'])\n", - "dfMQ309A_H2['H2'] = pd.to_numeric(dfMQ309A_H2['H2'])\n", - "dfMQ309A_Alcohol['Alcohol'] = pd.to_numeric(dfMQ309A_Alcohol['Alcohol'])\n", - "\n", - "dfMQ309A_CH4['CH4'] = dfMQ309A_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ309A_CO['CO'] = dfMQ309A_CO['CO'].replace('',None, regex=True)\n", - "dfMQ309A_H2['H2'] = dfMQ309A_H2['H2'].replace('',None, regex=True)\n", - "dfMQ309A_Alcohol['Alcohol'] = dfMQ309A_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ309A_CH4.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ309A_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ309A_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ309A_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ309A_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ309A_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ309A_CH4, x_MQ309A, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ309A_CO, x_MQ309A, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ309A_H2, x_MQ309A, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ309A_Alcohol, x_MQ309A, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-309A data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ309A.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ309A.png')\n", - "plt.savefig('MQ309A.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ3_Regression.ipynb b/Internal_design_documents/Experiments/MQ3_Regression.ipynb deleted file mode 100644 index 3375f49..0000000 --- a/Internal_design_documents/Experiments/MQ3_Regression.ipynb +++ /dev/null @@ -1,2356 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \t \n", - "0.2 \t 4.0 \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \t \n", - "0.5 \t 1.0 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \t \n", - "0.8 \t \t 8.0 \t \t \t \t \n", - "0.9 \t \t \t \t \t \t \n", - "1.0 \t 0.4 \t 4.0 \t \t \t \t \n", - "2.0 \t \t \t \t \t \t \n", - "3.0 \t \t \t \t \t \t \n", - "4.0 \t \t 0.1 \t \t \t \t \n", - "5.0 \t \t \t \t \t \t \n", - "6.0 \t \t \t \t \t \t \n", - "7.0 \t \t \t \t \t \t \n", - "8.0 \t \t \t \t \t \t \n", - "9.0 \t \t \t \t \t \t \n", - "10.0 \t \t \t \t 8.0 \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, Alcohol, Benzine, CH4, Hexane, LPG, CO = sheetMQ3.row_values(row_index, start_colx=0, end_colx=7)\n", - " print(RsR0, \"\t\", Alcohol, \"\t\", Benzine, \"\t\", CH4, \"\t\", Hexane, \"\t\", LPG, \"\t\", CO)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ3 = sheetMQ3.col_values(0)[2:]\n", - "MQ3_Alcohol = sheetMQ3.col_values(1)[2:]\n", - "MQ3_Benzine = sheetMQ3.col_values(2)[2:]\n", - "MQ3_CH4 = sheetMQ3.col_values(3)[2:]\n", - "MQ3_Hexane = sheetMQ3.col_values(4)[2:]\n", - "MQ3_LPG = sheetMQ3.col_values(5)[2:]\n", - "MQ3_CO = sheetMQ3.col_values(6)[2:]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "MQ3_Alcohol =zero_to_nan(MQ3_Alcohol)\n", - "MQ3_Benzine =zero_to_nan(MQ3_Benzine)\n", - "MQ3_CH4 =zero_to_nan(MQ3_CH4)\n", - "MQ3_Hexane =zero_to_nan(MQ3_Hexane)\n", - "MQ3_LPG =zero_to_nan(MQ3_LPG)\n", - "MQ3_CO =zero_to_nan(MQ3_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataAlcohol = {'RsRo': x_MQ3, 'Alcohol': MQ3_Alcohol}\n", - "dataBenzine = {'RsRo': x_MQ3, 'Benzine': MQ3_Benzine}\n", - "dataCH4 = {'RsRo': x_MQ3, 'CH4': MQ3_CH4}\n", - "dataHexane = {'RsRo': x_MQ3, 'Hexane': MQ3_Hexane}\n", - "dataLPG = {'RsRo': x_MQ3, 'LPG': MQ3_LPG}\n", - "dataCO = {'RsRo': x_MQ3, 'CO': MQ3_CO}\n", - "\n", - "dfMQ3_Alcohol = pd.DataFrame(dataAlcohol)\n", - "dfMQ3_Benzine = pd.DataFrame(dataBenzine)\n", - "dfMQ3_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ3_Hexane = pd.DataFrame(dataHexane)\n", - "dfMQ3_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ3_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ3_Alcohol['Alcohol'] = pd.to_numeric(dfMQ3_Alcohol['Alcohol'])\n", - "dfMQ3_Benzine['Benzine'] = pd.to_numeric(dfMQ3_Benzine['Benzine'])\n", - "dfMQ3_CH4['CH4'] = pd.to_numeric(dfMQ3_CH4['CH4'])\n", - "dfMQ3_Hexane['Hexane'] = pd.to_numeric(dfMQ3_Hexane['Hexane'])\n", - "dfMQ3_LPG['LPG'] = pd.to_numeric(dfMQ3_LPG['LPG'])\n", - "dfMQ3_CO['CO'] = pd.to_numeric(dfMQ3_CO['CO'])\n", - "\n", - "dfMQ3_Alcohol['Alcohol'] = dfMQ3_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "dfMQ3_Benzine['Benzine'] = dfMQ3_Benzine['Benzine'].replace('',None, regex=True)\n", - "dfMQ3_CH4['CH4'] = dfMQ3_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ3_Hexane['Hexane'] = dfMQ3_Hexane['Hexane'].replace('',None, regex=True)\n", - "dfMQ3_LPG['LPG'] = dfMQ3_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ3_CO['CO'] = dfMQ3_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ3_Alcohol.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train alcohol\n", - "dataset2TrainAlcohol = dfMQ3_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Alcohol = Alcohol_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Benzine\n", - "dataset2TrainBenzine = dfMQ3_Benzine.copy()\n", - "dataset2TrainBenzine.dropna(inplace=True)\n", - "X_trainBenzine = dataset2TrainBenzine.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainBenzine = dataset2TrainBenzine['Benzine'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainBenzine, y_trainBenzine)\n", - "#Predict\n", - "Benzine_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Benzine = Benzine_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ3_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Hexane\n", - "dataset2TrainHexane = dfMQ3_Hexane.copy()\n", - "dataset2TrainHexane.dropna(inplace=True)\n", - "X_trainHexane = dataset2TrainHexane.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainHexane = dataset2TrainHexane['Hexane'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainHexane, y_trainHexane)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_Hexane = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ3_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ3_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ3_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ3_Alcohol, x_MQ3, marker='o', linewidth=1, label='Alcohol')\n", - "plt.plot(MQ3_Benzine, x_MQ3, marker='o', linewidth=1, label='Benzine')\n", - "plt.plot(MQ3_CH4, x_MQ3, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ3_Hexane, x_MQ3, marker='o', linewidth=1, label='Hexane')\n", - "plt.plot(MQ3_LPG, x_MQ3, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ3_CO, x_MQ3, marker='o', linewidth=1, label='CO')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-3 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ3.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ3.png')\n", - "plt.savefig('MQ3.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ4.eps b/Internal_design_documents/Experiments/MQ4.eps deleted file mode 100644 index 5e23852..0000000 --- a/Internal_design_documents/Experiments/MQ4.eps +++ /dev/null @@ -1,2755 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ4.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:40:18 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /A /C /H /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 32 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -202.083 49.5 o -grestore -gsave -193.083032 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -360.217 49.5 o -grestore -gsave -351.217374 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -518.352 49.5 o -grestore -gsave -509.351716 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -91.55187 49.5 m -91.55187 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -91.5519 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -119.397945 49.5 m -119.397945 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -119.398 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -139.15505 49.5 m -139.15505 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -139.155 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -154.479851 49.5 m -154.479851 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -154.48 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -167.001126 49.5 m -167.001126 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -167.001 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -177.587712 49.5 m -177.587712 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -177.588 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -186.75823 49.5 m -186.75823 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -186.758 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -194.847201 49.5 m -194.847201 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -194.847 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -249.686212 49.5 m -249.686212 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -249.686 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -277.532287 49.5 m -277.532287 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -277.532 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -297.289392 49.5 m -297.289392 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -297.289 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -312.614193 49.5 m -312.614193 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -312.614 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -325.135468 49.5 m -325.135468 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -325.135 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -335.722054 49.5 m -335.722054 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -335.722 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -344.892573 49.5 m -344.892573 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -344.893 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -352.981543 49.5 m -352.981543 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -352.982 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -407.820554 49.5 m -407.820554 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -407.821 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -435.666629 49.5 m -435.666629 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -435.667 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -455.423734 49.5 m -455.423734 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -455.424 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -470.748536 49.5 m -470.748536 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -470.749 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -483.26981 49.5 m -483.26981 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -483.27 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -493.856396 49.5 m -493.856396 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -493.856 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -503.026915 49.5 m -503.026915 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -503.027 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -511.115885 49.5 m -511.115885 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -511.116 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -565.954896 49.5 m -565.954896 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -565.955 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -484.900495 63.09 m -482.270986 91.260953 l -479.536776 111.248562 l -476.68918 126.752157 l -473.718385 139.419515 l -470.613248 150.129615 l -467.36104 159.407125 l -463.947134 167.590468 l -460.354607 174.910719 l -407.46708 223.069281 l --1 223.141809 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -484.9 63.09 o -482.271 91.261 o -479.537 111.249 o -476.689 126.752 o -473.718 139.42 o -470.613 150.13 o -467.361 159.407 o -463.947 167.59 o -460.355 174.911 o -407.467 223.069 o --1 223.142 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox --1 150.122525 m -103.827273 150.129615 l -209.147273 159.407125 l -248.91042 167.590468 l -273.9308 174.910719 l -370.046466 223.069281 l -408.608051 251.240234 l -433.154872 271.227843 l -451.200945 286.731438 l -465.478284 299.398797 l -477.292268 310.108896 l -487.369149 319.386406 l -496.154891 327.56975 l -503.943094 334.89 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def --1 150.123 o -103.827 150.13 o -209.147 159.407 o -248.91 167.59 o -273.931 174.911 o -370.046 223.069 o -408.608 251.24 o -433.155 271.228 o -451.201 286.731 o -465.478 299.399 o -477.292 310.109 o -487.369 319.386 o -496.155 327.57 o -503.943 334.89 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -440.924088 63.09 m -439.207238 91.260953 l -437.446365 111.248562 l -435.639153 126.752157 l -433.783097 139.419515 l -431.875482 150.129615 l -429.913363 159.407125 l -427.893532 167.590468 l -425.812492 174.910719 l -400.561827 223.069281 l -360.203637 251.240234 l -249.754855 271.227843 l --1 271.252371 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -440.924 63.09 o -439.207 91.261 o -437.446 111.249 o -435.639 126.752 o -433.783 139.42 o -431.875 150.13 o -429.913 159.407 o -427.894 167.59 o -425.812 174.911 o -400.562 223.069 o -360.204 251.24 o -249.755 271.228 o --1 271.252 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -558.561386 91.260953 l -556.700973 111.248562 l -554.788756 126.752157 l -552.821768 139.419515 l -550.796777 150.129615 l -548.71026 159.407125 l -546.558358 167.590468 l -544.336843 174.910719 l -516.960052 223.069281 l -470.745788 251.240234 l -249.754855 271.227843 l --1 271.252371 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -558.561 91.261 o -556.701 111.249 o -554.789 126.752 o -552.822 139.42 o -550.797 150.13 o -548.71 159.407 o -546.558 167.59 o -544.337 174.911 o -516.96 223.069 o -470.746 251.24 o -249.755 271.228 o --1 271.252 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -507.7 281.7925 m -576.2 281.7925 l -577.533333 281.7925 578.2 282.459167 578.2 283.7925 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -507.7 343.48 l -506.366667 343.48 505.7 342.813333 505.7 341.48 c -505.7 283.7925 l -505.7 282.459167 506.366667 281.7925 507.7 281.7925 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -509.7 335.38625 m -529.7 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 335.386 o -grestore -0.000 setgray -gsave -537.700000 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -509.7 320.714375 m -529.7 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 320.714 o -grestore -0.000 setgray -gsave -537.700000 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -509.7 306.0425 m -529.7 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 306.043 o -grestore -0.000 setgray -gsave -537.700000 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -509.7 291.370625 m -529.7 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 291.371 o -grestore -0.000 setgray -gsave -537.700000 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /four glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ4.png b/Internal_design_documents/Experiments/MQ4.png deleted file mode 100644 index 9659914..0000000 Binary files a/Internal_design_documents/Experiments/MQ4.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ4.svg b/Internal_design_documents/Experiments/MQ4.svg deleted file mode 100644 index c5afd20..0000000 --- a/Internal_design_documents/Experiments/MQ4.svg +++ /dev/null @@ -1,1589 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ4_Regression.ipynb b/Internal_design_documents/Experiments/MQ4_Regression.ipynb deleted file mode 100644 index 728a44f..0000000 --- a/Internal_design_documents/Experiments/MQ4_Regression.ipynb +++ /dev/null @@ -1,1935 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t \t \t \n", - "0.3 \t \t \t \t \n", - "0.4 \t \t \t \t \n", - "0.5 \t \t \t \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t \t \t \t \n", - "0.8 \t \t \t \t \n", - "0.9 \t 5000.0 \t \t \t \n", - "1.0 \t \t 1000.0 \t \t \n", - "2.0 \t 1000.0 \t 200.0 \t \t \n", - "3.0 \t 200.0 \t \t 1000.0 \t 5000.0\n", - "4.0 \t \t \t 200.0 \t 200.0\n", - "5.0 \t \t 4000.0 \t \t \n", - "6.0 \t \t \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CH4, CO, H2, Alcohol = sheetMQ4.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", CH4, \"\t\", CO, \"\t\", H2, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ4 = sheetMQ4.col_values(0)[2:]\n", - "MQ4_CH4 = sheetMQ4.col_values(1)[2:]\n", - "MQ4_CO = sheetMQ4.col_values(2)[2:]\n", - "MQ4_H2 = sheetMQ4.col_values(3)[2:]\n", - "MQ4_Alcohol = sheetMQ4.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "MQ4_CH4 =zero_to_nan(MQ4_CH4)\n", - "MQ4_CO =zero_to_nan(MQ4_CO)\n", - "MQ4_H2 =zero_to_nan(MQ4_H2)\n", - "MQ4_Alcohol =zero_to_nan(MQ4_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataCH4 = {'RsRo': x_MQ4, 'CH4': MQ4_CH4}\n", - "dataCO = {'RsRo': x_MQ4, 'CO': MQ4_CO}\n", - "dataH2 = {'RsRo': x_MQ4, 'H2': MQ4_H2}\n", - "dataAlcohol = {'RsRo': x_MQ4, 'Alcohol': MQ4_Alcohol}\n", - "\n", - "dfMQ4_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ4_CO = pd.DataFrame(dataCO)\n", - "dfMQ4_H2 = pd.DataFrame(dataH2)\n", - "dfMQ4_Alcohol = pd.DataFrame(dataAlcohol)\n", - "\n", - "dfMQ4_CH4['CH4'] = pd.to_numeric(dfMQ4_CH4['CH4'])\n", - "dfMQ4_CO['CO'] = pd.to_numeric(dfMQ4_CO['CO'])\n", - "dfMQ4_H2['H2'] = pd.to_numeric(dfMQ4_H2['H2'])\n", - "dfMQ4_Alcohol['Alcohol'] = pd.to_numeric(dfMQ4_Alcohol['Alcohol'])\n", - "\n", - "dfMQ4_CH4['CH4'] = dfMQ4_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ4_CO['CO'] = dfMQ4_CO['CO'].replace('',None, regex=True)\n", - "dfMQ4_H2['H2'] = dfMQ4_H2['H2'].replace('',None, regex=True)\n", - "dfMQ4_Alcohol['Alcohol'] = dfMQ4_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ4_Alcohol.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ4_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_CH4 = CH4_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ4_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ4_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_H2 = H2_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ4_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ4_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ4_CH4, x_MQ4, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ4_CO, x_MQ4, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ4_H2, x_MQ4, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ4_Alcohol, x_MQ4, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-4 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ4.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ4.png')\n", - "plt.savefig('MQ4.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ5.eps b/Internal_design_documents/Experiments/MQ5.eps deleted file mode 100644 index 49074a2..0000000 --- a/Internal_design_documents/Experiments/MQ5.eps +++ /dev/null @@ -1,2418 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ5.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:39:52 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /five /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /i /l /n /o /p /r /s /t ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 33 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/five{{636 0 77 -13 549 729 _sc -108 729 _m -495 729 _l -495 646 _l -198 646 _l -198 467 _l -212 472 227 476 241 478 _c -255 480 270 482 284 482 _c -365 482 429 459 477 415 _c -525 370 549 310 549 234 _c -549 155 524 94 475 51 _c -426 8 357 -13 269 -13 _c -238 -13 207 -10 175 -6 _c -143 -1 111 6 77 17 _c -77 116 _l -106 100 136 88 168 80 _c -199 72 232 69 267 69 _c -}_e{323 69 368 83 401 113 _c -433 143 450 183 450 234 _c -450 284 433 324 401 354 _c -368 384 323 399 267 399 _c -241 399 214 396 188 390 _c -162 384 135 375 108 363 _c -108 729 _l -_cl}_e}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -289.934 49.5 o -grestore -gsave -280.933976 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -556.358 49.5 o -grestore -gsave -547.357929 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -103.711624 49.5 m -103.711624 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -103.712 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -150.626553 49.5 m -150.626553 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -150.627 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -183.913226 49.5 m -183.913226 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -183.913 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -209.732374 49.5 m -209.732374 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -209.732 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -230.828155 49.5 m -230.828155 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -230.828 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -248.664383 49.5 m -248.664383 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -248.664 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -264.114827 49.5 m -264.114827 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -264.115 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -277.743084 49.5 m -277.743084 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -277.743 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -370.135577 49.5 m -370.135577 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -370.136 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -417.050506 49.5 m -417.050506 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -417.051 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -450.337179 49.5 m -450.337179 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -450.337 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -476.156327 49.5 m -476.156327 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -476.156 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -497.252108 49.5 m -497.252108 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -497.252 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -515.088336 49.5 m -515.088336 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -515.088 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -530.53878 49.5 m -530.53878 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -530.539 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -544.167037 49.5 m -544.167037 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -544.167 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -545.945826 91.260953 l -529.460386 111.248562 l -510.229603 126.752157 l -487.152769 139.419515 l -458.296955 150.129615 l -419.765064 159.407125 l -361.587505 167.590468 l -239.003759 174.910719 l --1 174.95398 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -545.946 91.261 o -529.46 111.249 o -510.23 126.752 o -487.153 139.42 o -458.297 150.13 o -419.765 159.407 o -361.588 167.59 o -239.004 174.911 o --1 174.954 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -453.178676 63.09 m -424.506611 91.260953 l -386.302964 111.248562 l -328.879033 126.752157 l -209.823685 139.419515 l --1 139.427968 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -453.179 63.09 o -424.507 91.261 o -386.303 111.249 o -328.879 126.752 o -209.824 139.42 o --1 139.428 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -405.378821 63.09 m -383.686671 91.260953 l -356.967165 111.248562 l -322.16415 126.752157 l -272.155586 139.419515 l -182.143502 150.129615 l --1 150.135976 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -405.379 63.09 o -383.687 91.261 o -356.967 111.249 o -322.164 126.752 o -272.156 139.42 o -182.144 150.13 o --1 150.136 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -394.96375 63.09 m -392.130366 91.260953 l -389.225855 111.248562 l -386.246551 126.752157 l -383.188502 139.419515 l -380.047432 150.129615 l -376.818706 159.407125 l -373.497292 167.590468 l -370.077709 174.910719 l -328.816385 223.069281 l -264.085897 251.240234 l -103.827273 271.227843 l --1 271.23393 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -394.964 63.09 o -392.13 91.261 o -389.226 111.249 o -386.247 126.752 o -383.189 139.42 o -380.047 150.13 o -376.819 159.407 o -373.497 167.59 o -370.078 174.911 o -328.816 223.069 o -264.086 251.24 o -103.827 271.228 o --1 271.234 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -523.340625 281.7925 m -576.2 281.7925 l -577.533333 281.7925 578.2 282.459167 578.2 283.7925 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -523.340625 343.48 l -522.007292 343.48 521.340625 342.813333 521.340625 341.48 c -521.340625 283.7925 l -521.340625 282.459167 522.007292 281.7925 523.340625 281.7925 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -525.340625 335.38625 m -545.340625 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 335.386 o -grestore -0.000 setgray -gsave -553.340625 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -525.340625 320.714375 m -545.340625 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 320.714 o -grestore -0.000 setgray -gsave -553.340625 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -525.340625 306.0425 m -545.340625 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 306.043 o -grestore -0.000 setgray -gsave -553.340625 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -525.340625 291.370625 m -545.340625 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 291.371 o -grestore -0.000 setgray -gsave -553.340625 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /five glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ5.png b/Internal_design_documents/Experiments/MQ5.png deleted file mode 100644 index 78739c5..0000000 Binary files a/Internal_design_documents/Experiments/MQ5.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ5.svg b/Internal_design_documents/Experiments/MQ5.svg deleted file mode 100644 index b0c0e79..0000000 --- a/Internal_design_documents/Experiments/MQ5.svg +++ /dev/null @@ -1,1454 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ5_Regression.ipynb b/Internal_design_documents/Experiments/MQ5_Regression.ipynb deleted file mode 100644 index 8bf022f..0000000 --- a/Internal_design_documents/Experiments/MQ5_Regression.ipynb +++ /dev/null @@ -1,1794 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \n", - "0.2 \t \t 5000.0 \t \t \n", - "0.3 \t \t \t \t \n", - "0.4 \t \t 800.0 \t 2000.0 \t \n", - "0.5 \t \t \t 1000.0 \t \n", - "0.6 \t \t \t \t \n", - "0.7 \t 5000.0 \t 200.0 \t 500.0 \t \n", - "0.8 \t 2000.0 \t \t \t \n", - "0.9 \t \t \t \t \n", - "1.0 \t 1000.0 \t \t \t \n", - "2.0 \t \t \t \t \n", - "3.0 \t \t \t \t 800.0\n", - "4.0 \t \t \t \t 200.0\n", - "5.0 \t \t \t \t \n", - "6.0 \t \t \t \t \n", - "7.0 \t \t \t \t \n", - "8.0 \t \t \t \t \n", - "9.0 \t \t \t \t \n", - "10.0 \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG , CH4, CO = sheetMQ5.row_values(row_index, start_colx=0, end_colx=5)\n", - " print(RsR0, \"\t\", H2, \"\t\", LPG, \"\t\", CH4, \"\t\", CO)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ5 = sheetMQ5.col_values(0)[2:]\n", - "MQ5_H2 = sheetMQ5.col_values(1)[2:]\n", - "MQ5_LPG = sheetMQ5.col_values(2)[2:]\n", - "MQ5_CH4 = sheetMQ5.col_values(3)[2:]\n", - "MQ5_CO = sheetMQ5.col_values(4)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "MQ5_H2 =zero_to_nan(MQ5_H2)\n", - "MQ5_LPG =zero_to_nan(MQ5_LPG)\n", - "MQ5_CH4 =zero_to_nan(MQ5_CH4)\n", - "MQ5_CO =zero_to_nan(MQ5_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ5, 'H2': MQ5_H2}\n", - "dataLPG = {'RsRo': x_MQ5, 'LPG': MQ5_LPG}\n", - "dataCH4 = {'RsRo': x_MQ5, 'CH4': MQ5_CH4}\n", - "dataCO = {'RsRo': x_MQ5, 'CO': MQ5_CO}\n", - "\n", - "dfMQ5_H2 = pd.DataFrame(dataH2)\n", - "dfMQ5_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ5_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ5_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ5_H2['H2'] = pd.to_numeric(dfMQ5_H2['H2'])\n", - "dfMQ5_LPG['LPG'] = pd.to_numeric(dfMQ5_LPG['LPG'])\n", - "dfMQ5_CH4['CH4'] = pd.to_numeric(dfMQ5_CH4['CH4'])\n", - "dfMQ5_CO['CO'] = pd.to_numeric(dfMQ5_CO['CO'])\n", - "\n", - "dfMQ5_H2['H2'] = dfMQ5_H2['H2'].replace('',None, regex=True)\n", - "dfMQ5_LPG['LPG'] = dfMQ5_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ5_CH4['CH4'] = dfMQ5_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ5_CO['CO'] = dfMQ5_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ5_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ5_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ5_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ5_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ5_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ5_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ5_H2, x_MQ5, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ5_LPG, x_MQ5, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ5_CH4, x_MQ5, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ5_CO, x_MQ5, marker='o', linewidth=1, label='CO')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-5 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ5.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ5.png')\n", - "plt.savefig('MQ5.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ6.eps b/Internal_design_documents/Experiments/MQ6.eps deleted file mode 100644 index 525c111..0000000 --- a/Internal_design_documents/Experiments/MQ6.eps +++ /dev/null @@ -1,2441 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ6.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:49:28 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /six /A /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 35 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/six{{636 0 70 -13 573 742 _sc -330 404 _m -286 404 251 388 225 358 _c -199 328 186 286 186 234 _c -186 181 199 139 225 109 _c -251 79 286 64 330 64 _c -374 64 409 79 435 109 _c -461 139 474 181 474 234 _c -474 286 461 328 435 358 _c -409 388 374 404 330 404 _c -526 713 _m -526 623 _l -501 635 476 644 451 650 _c -425 656 400 659 376 659 _c -310 659 260 637 226 593 _c -}_e{192 549 172 482 168 394 _c -187 422 211 444 240 459 _c -269 474 301 482 336 482 _c -409 482 467 459 509 415 _c -551 371 573 310 573 234 _c -573 159 550 99 506 54 _c -462 9 403 -13 330 -13 _c -246 -13 181 19 137 83 _c -92 147 70 241 70 364 _c -70 479 97 571 152 639 _c -206 707 280 742 372 742 _c -396 742 421 739 447 735 _c -472 730 498 723 526 713 _c -_cl}_e}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -123.632 49.5 o -grestore -gsave -114.632479 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -455.059 49.5 o -grestore -gsave -446.058622 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -91.513967 49.5 m -91.513967 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -91.514 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -108.46725 49.5 m -108.46725 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -108.467 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -223.401689 49.5 m -223.401689 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -223.402 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -281.762936 49.5 m -281.762936 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -281.763 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -323.170899 49.5 m -323.170899 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -323.171 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -355.289411 49.5 m -355.289411 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -355.289 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -381.532146 49.5 m -381.532146 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -381.532 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -403.720062 49.5 m -403.720062 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -403.72 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -422.94011 49.5 m -422.94011 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -422.94 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -439.893393 49.5 m -439.893393 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -439.893 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -554.827832 49.5 m -554.827832 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -554.828 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -491.075673 63.09 m -488.303418 91.260953 l -485.476719 111.248562 l -482.593393 126.752157 l -479.651126 139.419515 l -476.647457 150.129615 l -473.57977 159.407125 l -470.445275 167.590468 l -467.240999 174.910719 l -430.531564 223.069281 l -381.130864 251.240234 l -305.31519 271.227843 l -135.158532 286.731438 l --1 286.736626 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -491.076 63.09 o -488.303 91.261 o -485.477 111.249 o -482.593 126.752 o -479.651 139.42 o -476.647 150.13 o -473.58 159.407 o -470.445 167.59 o -467.241 174.911 o -430.532 223.069 o -381.131 251.24 o -305.315 271.228 o -135.159 286.731 o --1 286.737 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -339.576827 63.09 m -330.687862 91.260953 l -321.213605 111.248562 l -311.071512 126.752157 l -300.160245 139.419515 l -288.353489 150.129615 l -275.491013 159.407125 l -261.36531 167.590468 l -245.700965 174.910719 l --1 174.946446 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -339.577 63.09 o -330.688 91.261 o -321.214 111.249 o -311.072 126.752 o -300.16 139.42 o -288.353 150.13 o -275.491 159.407 o -261.365 167.59 o -245.701 174.911 o --1 174.946 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -381.518818 63.09 m -368.996398 91.260953 l -355.279815 111.248562 l -340.117075 126.752157 l -323.166901 139.419515 l -303.950852 150.129615 l -281.768267 159.407125 l -255.532995 167.590468 l -223.425677 174.910719 l --1 174.943222 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -381.519 63.09 o -368.996 91.261 o -355.28 111.249 o -340.117 126.752 o -323.167 139.42 o -303.951 150.13 o -281.768 159.407 o -255.533 167.59 o -223.426 174.911 o --1 174.943 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -558.701198 91.260953 l -557.010029 111.248562 l -555.298753 126.752157 l -553.566886 139.419515 l -551.813928 150.129615 l -550.039357 159.407125 l -548.242634 167.590468 l -546.4232 174.910719 l -526.839544 223.069281 l -504.165384 251.240234 l -477.239135 271.227843 l -444.089228 286.731438 l -400.945678 299.398797 l -339.049184 310.108896 l -228.121343 319.386406 l --1 319.392044 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -558.701 91.261 o -557.01 111.249 o -555.299 126.752 o -553.567 139.42 o -551.814 150.13 o -550.039 159.407 o -548.243 167.59 o -546.423 174.911 o -526.84 223.069 o -504.165 251.24 o -477.239 271.228 o -444.089 286.731 o -400.946 299.399 o -339.049 310.109 o -228.121 319.386 o --1 319.392 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -415.061401 63.09 m -413.175941 91.260953 l -411.265455 111.248562 l -409.329269 126.752157 l -407.366683 139.419515 l -405.376966 150.129615 l -403.359358 159.407125 l -401.313067 167.590468 l -399.237263 174.910719 l -376.645029 223.069281 l -349.834333 251.240234 l -316.859656 271.227843 l -274.013336 286.731438 l -212.731522 299.398797 l -103.827273 310.108896 l --1 310.111822 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -415.061 63.09 o -413.176 91.261 o -411.265 111.249 o -409.329 126.752 o -407.367 139.42 o -405.377 150.13 o -403.359 159.407 o -401.313 167.59 o -399.237 174.911 o -376.645 223.069 o -349.834 251.24 o -316.86 271.228 o -274.013 286.731 o -212.732 299.399 o -103.827 310.109 o --1 310.112 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -507.7 267.120625 m -576.2 267.120625 l -577.533333 267.120625 578.2 267.787292 578.2 269.120625 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -507.7 343.48 l -506.366667 343.48 505.7 342.813333 505.7 341.48 c -505.7 269.120625 l -505.7 267.787292 506.366667 267.120625 507.7 267.120625 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -509.7 335.38625 m -529.7 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 335.386 o -grestore -0.000 setgray -gsave -537.700000 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -509.7 320.714375 m -529.7 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 320.714 o -grestore -0.000 setgray -gsave -537.700000 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -509.7 306.0425 m -529.7 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 306.043 o -grestore -0.000 setgray -gsave -537.700000 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -509.7 291.370625 m -529.7 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 291.371 o -grestore -0.000 setgray -gsave -537.700000 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -509.7 276.69875 m -529.7 276.69875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 276.699 o -grestore -0.000 setgray -gsave -537.700000 273.198750 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /six glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ6.png b/Internal_design_documents/Experiments/MQ6.png deleted file mode 100644 index 8856f3d..0000000 Binary files a/Internal_design_documents/Experiments/MQ6.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ6.svg b/Internal_design_documents/Experiments/MQ6.svg deleted file mode 100644 index dc28fe1..0000000 --- a/Internal_design_documents/Experiments/MQ6.svg +++ /dev/null @@ -1,1537 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ6_Regression.ipynb b/Internal_design_documents/Experiments/MQ6_Regression.ipynb deleted file mode 100644 index 8aa6b08..0000000 --- a/Internal_design_documents/Experiments/MQ6_Regression.ipynb +++ /dev/null @@ -1,1903 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t 5000.0 \t \t \t \t \n", - "0.4 \t \t \t 5000.0 \t \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t 1000.0 \t \t 2000.0 \t \t \n", - "2.0 \t 200.0 \t 10000.0 \t \t \t \n", - "3.0 \t \t \t \t \t \n", - "4.0 \t \t 400.0 \t \t \t \n", - "5.0 \t \t \t \t \t 3000.0\n", - "6.0 \t \t 200.0 \t \t \t \n", - "7.0 \t \t \t \t 5000.0 \t 400.0\n", - "8.0 \t \t \t \t 1000.0 \t 200.0\n", - "9.0 \t \t \t \t 200.0 \t \n", - "10.0 \t \t \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, LPG, H2, CH4, CO, Alcohol = sheetMQ6.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ6 = sheetMQ6.col_values(0)[2:]\n", - "MQ6_LPG = sheetMQ6.col_values(1)[2:]\n", - "MQ6_H2 = sheetMQ6.col_values(2)[2:]\n", - "MQ6_CH4 = sheetMQ6.col_values(3)[2:]\n", - "MQ6_CO = sheetMQ6.col_values(4)[2:]\n", - "MQ6_Alcohol = sheetMQ6.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "MQ6_H2 =zero_to_nan(MQ6_H2)\n", - "MQ6_LPG =zero_to_nan(MQ6_LPG)\n", - "MQ6_CH4 =zero_to_nan(MQ6_CH4)\n", - "MQ6_CO =zero_to_nan(MQ6_CO)\n", - "MQ6_Alcohol =zero_to_nan(MQ6_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ6, 'H2': MQ6_H2}\n", - "dataLPG = {'RsRo': x_MQ6, 'LPG': MQ6_LPG}\n", - "dataCH4 = {'RsRo': x_MQ6, 'CH4': MQ6_CH4}\n", - "dataCO = {'RsRo': x_MQ6, 'CO': MQ6_CO}\n", - "dataALcohol = {'RsRo': x_MQ6, 'Alcohol': MQ6_Alcohol}\n", - "\n", - "dfMQ6_H2 = pd.DataFrame(dataH2)\n", - "dfMQ6_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ6_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ6_CO = pd.DataFrame(dataCO)\n", - "dfMQ6_Alcohol = pd.DataFrame(dataALcohol)\n", - "\n", - "dfMQ6_H2['H2'] = pd.to_numeric(dfMQ6_H2['H2'])\n", - "dfMQ6_LPG['LPG'] = pd.to_numeric(dfMQ6_LPG['LPG'])\n", - "dfMQ6_CH4['CH4'] = pd.to_numeric(dfMQ6_CH4['CH4'])\n", - "dfMQ6_CO['CO'] = pd.to_numeric(dfMQ6_CO['CO'])\n", - "dfMQ6_Alcohol['Alcohol'] = pd.to_numeric(dfMQ6_Alcohol['Alcohol'])\n", - "\n", - "dfMQ6_H2['H2'] = dfMQ6_H2['H2'].replace('',None, regex=True)\n", - "dfMQ6_LPG['LPG'] = dfMQ6_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ6_CH4['CH4'] = dfMQ6_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ6_CO['CO'] = dfMQ6_CO['CO'].replace('',None, regex=True)\n", - "dfMQ6_Alcohol['Alcohol'] = dfMQ6_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ6_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ6_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ6_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ6_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ6_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ6_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ6_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ6_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ6_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ6_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ6_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ6_H2, x_MQ6, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ6_LPG, x_MQ6, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ6_CH4, x_MQ6, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ6_CO, x_MQ6, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ6_Alcohol, x_MQ6, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-6 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ6.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ6.png')\n", - "plt.savefig('MQ6.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ7.eps b/Internal_design_documents/Experiments/MQ7.eps deleted file mode 100644 index 21a2229..0000000 --- a/Internal_design_documents/Experiments/MQ7.eps +++ /dev/null @@ -1,3548 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ7.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 20:58:22 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /seven /A /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /minus ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 36 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/seven{636 0 82 0 551 729 _sc -82 729 _m -551 729 _l -551 687 _l -286 0 _l -183 0 _l -432 646 _l -82 646 _l -82 729 _l -_cl}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/minus{838 0 106 272 732 355 _sc -106 355 _m -732 355 _l -732 272 _l -106 272 _l -106 355 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -203.286 49.5 o -grestore -gsave -194.286318 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -385.384 49.5 o -grestore -gsave -376.383992 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -567.482 49.5 o -grestore -gsave -558.481666 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -108.071315 49.5 m -108.071315 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -108.071 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -130.822368 49.5 m -130.822368 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -130.822 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -148.469456 49.5 m -148.469456 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -148.469 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -162.888177 49.5 m -162.888177 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -162.888 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -175.079031 49.5 m -175.079031 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -175.079 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -185.63923 49.5 m -185.63923 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -185.639 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -194.953985 49.5 m -194.953985 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -194.954 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -258.10318 49.5 m -258.10318 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -258.103 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -290.168988 49.5 m -290.168988 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -290.169 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -312.920042 49.5 m -312.920042 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -312.92 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -330.56713 49.5 m -330.56713 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -330.567 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -344.98585 49.5 m -344.98585 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -344.986 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -357.176705 49.5 m -357.176705 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -357.177 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -367.736904 49.5 m -367.736904 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -367.737 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -377.051659 49.5 m -377.051659 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -377.052 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -440.200854 49.5 m -440.200854 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -440.201 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -472.266662 49.5 m -472.266662 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -472.267 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -495.017716 49.5 m -495.017716 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -495.018 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -512.664804 49.5 m -512.664804 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -512.665 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -527.083524 49.5 m -527.083524 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -527.084 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -539.274379 49.5 m -539.274379 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -539.274 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -549.834578 49.5 m -549.834578 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -549.835 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -559.149333 49.5 m -559.149333 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -559.149 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 114.45 o -grestore -gsave -50.000000 110.489319 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/minus glyphshow - -18.685547 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 187.93 o -grestore -gsave -56.000000 183.469233 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 261.41 o -grestore -gsave -56.000000 257.449148 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.429062 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 76.029171 m -583.2 76.029171 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 76.0292 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 85.209658 m -583.2 85.209658 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 85.2097 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 92.330598 m -583.2 92.330598 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 92.3306 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 98.148829 m -583.2 98.148829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 98.1488 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 103.068073 m -583.2 103.068073 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 103.068 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 107.329317 m -583.2 107.329317 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 107.329 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.088 m -583.2 111.088 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.088 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 136.569915 m -583.2 136.569915 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 136.57 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 149.509085 m -583.2 149.509085 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 149.509 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 158.689573 m -583.2 158.689573 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 158.69 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 165.810512 m -583.2 165.810512 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 165.811 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 171.628744 m -583.2 171.628744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 171.629 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 176.547988 m -583.2 176.547988 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 176.548 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 180.809231 m -583.2 180.809231 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 180.809 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 184.567914 m -583.2 184.567914 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 184.568 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 210.049829 m -583.2 210.049829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 210.05 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 222.989 m -583.2 222.989 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 222.989 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 232.169488 m -583.2 232.169488 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 232.169 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 239.290427 m -583.2 239.290427 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 239.29 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 245.108658 m -583.2 245.108658 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 245.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 250.027903 m -583.2 250.027903 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 250.028 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 254.289146 m -583.2 254.289146 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 254.289 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 258.047829 m -583.2 258.047829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 258.048 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 283.529744 m -583.2 283.529744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 283.53 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 296.468914 m -583.2 296.468914 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 296.469 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 305.649402 m -583.2 305.649402 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 305.649 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 312.770342 m -583.2 312.770342 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 312.77 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 318.588573 m -583.2 318.588573 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 318.589 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 323.507817 m -583.2 323.507817 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 323.508 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.769061 m -583.2 327.769061 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.769 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 331.527744 m -583.2 331.527744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 331.528 o -grestore -gsave -43.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -476.130148 63.09 m -474.981647 76.029171 l -473.816221 85.209658 l -472.633363 92.330598 l -471.432544 98.148829 l -470.213211 103.068073 l -468.974783 107.329317 l -467.716652 111.088 l -466.438182 114.450256 l -452.369174 136.569915 l -435.243773 149.509085 l -413.354621 158.689573 l -382.984938 165.810512 l -333.048536 171.628744 l -165.167284 176.547988 l --1 176.55187 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -476.13 63.09 o -474.982 76.0292 o -473.816 85.2097 o -472.633 92.3306 o -471.433 98.1488 o -470.213 103.068 o -468.975 107.329 o -467.717 111.088 o -466.438 114.45 o -452.369 136.57 o -435.244 149.509 o -413.355 158.69 o -382.985 165.811 o -333.049 171.629 o -165.167 176.548 o --1 176.552 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -560.270694 76.029171 l -560.16853 85.209658 l -560.066233 92.330598 l -559.963803 98.148829 l -559.861241 103.068073 l -559.758546 107.329317 l -559.655717 111.088 l -559.552754 114.450256 l -558.515686 136.569915 l -557.464837 149.509085 l -556.399836 158.689573 l -555.320297 165.810512 l -554.225818 171.628744 l -553.115979 176.547988 l -551.990343 180.809231 l -550.848453 184.567914 l -549.689834 187.930171 l -537.06172 210.049829 l -522.026744 222.989 l -503.446176 232.169488 l -479.11441 239.290427 l -443.789114 245.108658 l -378.300809 250.027903 l --1 250.036752 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -560.271 76.0292 o -560.169 85.2097 o -560.066 92.3306 o -559.964 98.1488 o -559.861 103.068 o -559.759 107.329 o -559.656 111.088 o -559.553 114.45 o -558.516 136.57 o -557.465 149.509 o -556.4 158.69 o -555.32 165.811 o -554.226 171.629 o -553.116 176.548 o -551.99 180.809 o -550.848 184.568 o -549.69 187.93 o -537.062 210.05 o -522.027 222.989 o -503.446 232.169 o -479.114 239.29 o -443.789 245.109 o -378.301 250.028 o --1 250.037 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -541.771862 63.09 m -541.732545 76.029171 l -541.693208 85.209658 l -541.653852 92.330598 l -541.614476 98.148829 l -541.57508 103.068073 l -541.535665 107.329317 l -541.49623 111.088 l -541.456775 114.450256 l -541.061142 136.569915 l -540.66352 149.509085 l -540.263889 158.689573 l -539.862228 165.810512 l -539.458517 171.628744 l -539.052734 176.547988 l -538.644859 180.809231 l -538.234869 184.567914 l -537.822742 187.930171 l -533.578858 210.049829 l -529.094256 222.989 l -524.339977 232.169488 l -519.281502 239.290427 l -513.877225 245.108658 l -508.076377 250.027903 l -501.816113 254.289146 l -495.017356 258.047829 l -487.578674 261.410085 l -148.498208 283.529744 l --1 283.540349 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -541.772 63.09 o -541.733 76.0292 o -541.693 85.2097 o -541.654 92.3306 o -541.614 98.1488 o -541.575 103.068 o -541.536 107.329 o -541.496 111.088 o -541.457 114.45 o -541.061 136.57 o -540.664 149.509 o -540.264 158.69 o -539.862 165.811 o -539.459 171.629 o -539.053 176.548 o -538.645 180.809 o -538.235 184.568 o -537.823 187.93 o -533.579 210.05 o -529.094 222.989 o -524.34 232.169 o -519.282 239.29 o -513.877 245.109 o -508.076 250.028 o -501.816 254.289 o -495.017 258.048 o -487.579 261.41 o -148.498 283.53 o --1 283.54 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -458.221993 63.09 m -457.328455 76.029171 l -456.424705 85.209658 l -455.510508 92.330598 l -454.58562 98.148829 l -453.649787 103.068073 l -452.702746 107.329317 l -451.744228 111.088 l -450.773949 114.450256 l -440.354137 136.569915 l -428.350079 149.509085 l -414.192133 158.689573 l -396.934603 165.810512 l -374.828579 171.628744 l -344.037256 176.547988 l -292.925065 180.809231 l -103.827273 184.567914 l --1 184.569847 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -458.222 63.09 o -457.328 76.0292 o -456.425 85.2097 o -455.511 92.3306 o -454.586 98.1488 o -453.65 103.068 o -452.703 107.329 o -451.744 111.088 o -450.774 114.45 o -440.354 136.57 o -428.35 149.509 o -414.192 158.69 o -396.935 165.811 o -374.829 171.629 o -344.037 176.548 o -292.925 180.809 o -103.827 184.568 o --1 184.57 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -549.259529 63.09 m -549.220187 76.029171 l -549.180825 85.209658 l -549.141444 92.330598 l -549.102043 98.148829 l -549.062623 103.068073 l -549.023182 107.329317 l -548.983723 111.088 l -548.944243 114.450256 l -548.54836 136.569915 l -548.150485 149.509085 l -547.750598 158.689573 l -547.348678 165.810512 l -546.944706 171.628744 l -546.538659 176.547988 l -546.130517 180.809231 l -545.720258 184.567914 l -545.307859 187.930171 l -541.06109 210.049829 l -536.573266 222.989 l -531.815366 232.169488 l -526.75279 239.290427 l -521.343832 245.108658 l -515.53759 250.027903 l -509.271044 254.289146 l -502.464876 258.047829 l -495.01732 261.410085 l -148.501083 283.529744 l --1 283.540349 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -549.26 63.09 o -549.22 76.0292 o -549.181 85.2097 o -549.141 92.3306 o -549.102 98.1488 o -549.063 103.068 o -549.023 107.329 o -548.984 111.088 o -548.944 114.45 o -548.548 136.57 o -548.15 149.509 o -547.751 158.69 o -547.349 165.811 o -546.945 171.629 o -546.539 176.548 o -546.131 180.809 o -545.72 184.568 o -545.308 187.93 o -541.061 210.05 o -536.573 222.989 o -531.815 232.169 o -526.753 239.29 o -521.344 245.109 o -515.538 250.028 o -509.271 254.289 o -502.465 258.048 o -495.017 261.41 o -148.501 283.53 o --1 283.54 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -507.7 267.120625 m -576.2 267.120625 l -577.533333 267.120625 578.2 267.787292 578.2 269.120625 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -507.7 343.48 l -506.366667 343.48 505.7 342.813333 505.7 341.48 c -505.7 269.120625 l -505.7 267.787292 506.366667 267.120625 507.7 267.120625 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -509.7 335.38625 m -529.7 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 335.386 o -grestore -0.000 setgray -gsave -537.700000 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -509.7 320.714375 m -529.7 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 320.714 o -grestore -0.000 setgray -gsave -537.700000 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -509.7 306.0425 m -529.7 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 306.043 o -grestore -0.000 setgray -gsave -537.700000 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -509.7 291.370625 m -529.7 291.370625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 291.371 o -grestore -0.000 setgray -gsave -537.700000 287.870625 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -509.7 276.69875 m -529.7 276.69875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -519.7 276.699 o -grestore -0.000 setgray -gsave -537.700000 273.198750 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /seven glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ7.png b/Internal_design_documents/Experiments/MQ7.png deleted file mode 100644 index 0bf1ea9..0000000 Binary files a/Internal_design_documents/Experiments/MQ7.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ7.svg b/Internal_design_documents/Experiments/MQ7.svg deleted file mode 100644 index 969e25a..0000000 --- a/Internal_design_documents/Experiments/MQ7.svg +++ /dev/null @@ -1,2008 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ7_Regression.ipynb b/Internal_design_documents/Experiments/MQ7_Regression.ipynb deleted file mode 100644 index a63cc80..0000000 --- a/Internal_design_documents/Experiments/MQ7_Regression.ipynb +++ /dev/null @@ -1,2374 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \t \t \n", - "0.02 \t \t \t \t \t \n", - "0.03 \t \t \t \t \t \n", - "0.04 \t \t \t \t \t \n", - "0.05 \t \t 4000.0 \t \t \t \n", - "0.06 \t \t \t \t \t \n", - "0.07 \t \t \t \t \t \n", - "0.08 \t \t \t \t \t \n", - "0.09 \t \t \t \t 3000.0 \t \n", - "0.1 \t \t \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t \t 400.0 \t \t \t \n", - "0.4 \t \t \t \t 400.0 \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t 100.0 \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t \t \t \t 100.0 \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, CO, H2, LPG, CH4, Alcohol = sheetMQ7.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ7 = sheetMQ7.col_values(0)[2:]\n", - "MQ7_CO = sheetMQ7.col_values(1)[2:]\n", - "MQ7_H2 = sheetMQ7.col_values(2)[2:]\n", - "MQ7_LPG = sheetMQ7.col_values(3)[2:]\n", - "MQ7_CH4 = sheetMQ7.col_values(4)[2:]\n", - "MQ7_Alcohol = sheetMQ7.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "MQ7_H2 =zero_to_nan(MQ7_H2)\n", - "MQ7_LPG =zero_to_nan(MQ7_LPG)\n", - "MQ7_CH4 =zero_to_nan(MQ7_CH4)\n", - "MQ7_CO =zero_to_nan(MQ7_CO)\n", - "MQ7_Alcohol =zero_to_nan(MQ7_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ7, 'H2': MQ7_H2}\n", - "dataLPG = {'RsRo': x_MQ7, 'LPG': MQ7_LPG}\n", - "dataCH4 = {'RsRo': x_MQ7, 'CH4': MQ7_CH4}\n", - "dataCO = {'RsRo': x_MQ7, 'CO': MQ7_CO}\n", - "dataALcohol = {'RsRo': x_MQ7, 'Alcohol': MQ7_Alcohol}\n", - "\n", - "dfMQ7_H2 = pd.DataFrame(dataH2)\n", - "dfMQ7_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ7_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ7_CO = pd.DataFrame(dataCO)\n", - "dfMQ7_Alcohol = pd.DataFrame(dataALcohol)\n", - "\n", - "dfMQ7_H2['H2'] = pd.to_numeric(dfMQ7_H2['H2'])\n", - "dfMQ7_LPG['LPG'] = pd.to_numeric(dfMQ7_LPG['LPG'])\n", - "dfMQ7_CH4['CH4'] = pd.to_numeric(dfMQ7_CH4['CH4'])\n", - "dfMQ7_CO['CO'] = pd.to_numeric(dfMQ7_CO['CO'])\n", - "dfMQ7_Alcohol['Alcohol'] = pd.to_numeric(dfMQ7_Alcohol['Alcohol'])\n", - "\n", - "dfMQ7_H2['H2'] = dfMQ7_H2['H2'].replace('',None, regex=True)\n", - "dfMQ7_LPG['LPG'] = dfMQ7_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ7_CH4['CH4'] = dfMQ7_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ7_CO['CO'] = dfMQ7_CO['CO'].replace('',None, regex=True)\n", - "dfMQ7_Alcohol['Alcohol'] = dfMQ7_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ7_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ7_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ7_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ7_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ7_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ7_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ7_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ7_H2, x_MQ7, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ7_LPG, x_MQ7, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ7_CH4, x_MQ7, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ7_CO, x_MQ7, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ7_Alcohol, x_MQ7, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-7 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ7.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ7.png')\n", - "plt.savefig('MQ7.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ8.eps b/Internal_design_documents/Experiments/MQ8.eps deleted file mode 100644 index 55430d9..0000000 --- a/Internal_design_documents/Experiments/MQ8.eps +++ /dev/null @@ -1,3999 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ8.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 21:04:01 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /two /three /four /eight /A /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /minus ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 36 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/two{{636 0 73 0 536 742 _sc -192 83 _m -536 83 _l -536 0 _l -73 0 _l -73 83 _l -110 121 161 173 226 239 _c -290 304 331 346 348 365 _c -380 400 402 430 414 455 _c -426 479 433 504 433 528 _c -433 566 419 598 392 622 _c -365 646 330 659 286 659 _c -255 659 222 653 188 643 _c -154 632 117 616 78 594 _c -78 694 _l -118 710 155 722 189 730 _c -223 738 255 742 284 742 _c -}_e{359 742 419 723 464 685 _c -509 647 532 597 532 534 _c -532 504 526 475 515 449 _c -504 422 484 390 454 354 _c -446 344 420 317 376 272 _c -332 227 271 164 192 83 _c -_cl}_e}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/eight{{636 0 68 -13 568 742 _sc -318 346 _m -271 346 234 333 207 308 _c -180 283 167 249 167 205 _c -167 161 180 126 207 101 _c -234 76 271 64 318 64 _c -364 64 401 76 428 102 _c -455 127 469 161 469 205 _c -469 249 455 283 429 308 _c -402 333 365 346 318 346 _c -219 388 _m -177 398 144 418 120 447 _c -96 476 85 511 85 553 _c -85 611 105 657 147 691 _c -188 725 245 742 318 742 _c -}_e{390 742 447 725 489 691 _c -530 657 551 611 551 553 _c -551 511 539 476 515 447 _c -491 418 459 398 417 388 _c -464 377 501 355 528 323 _c -554 291 568 251 568 205 _c -568 134 546 80 503 43 _c -459 5 398 -13 318 -13 _c -237 -13 175 5 132 43 _c -89 80 68 134 68 205 _c -68 251 81 291 108 323 _c -134 355 171 377 219 388 _c -183 544 _m -183 506 194 476 218 455 _c -}_e{242 434 275 424 318 424 _c -360 424 393 434 417 455 _c -441 476 453 506 453 544 _c -453 582 441 611 417 632 _c -393 653 360 664 318 664 _c -275 664 242 653 218 632 _c -194 611 183 582 183 544 _c -_cl}_e}_d -/A{684 0 8 0 676 729 _sc -342 632 _m -208 269 _l -476 269 _l -342 632 _l -286 729 _m -398 729 _l -676 0 _l -573 0 _l -507 187 _l -178 187 _l -112 0 _l -8 0 _l -286 729 _l -_cl}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/h{634 0 91 0 549 760 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -/minus{838 0 106 272 732 355 _sc -106 355 _m -732 355 _l -732 272 _l -106 272 _l -106 355 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -145.713 49.5 o -grestore -gsave -136.713016 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -268.613 49.5 o -grestore -gsave -259.613165 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -391.513 49.5 o -grestore -gsave -382.513315 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -514.413 49.5 o -grestore -gsave -505.413464 34.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/four glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81.45114 49.5 m -81.45114 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81.4511 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -96.80613 49.5 m -96.80613 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -96.8061 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -108.716385 49.5 m -108.716385 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -108.716 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -118.447772 49.5 m -118.447772 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -118.448 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -126.675542 49.5 m -126.675542 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -126.676 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -133.802761 49.5 m -133.802761 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -133.803 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -140.089414 49.5 m -140.089414 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -140.089 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -182.709648 49.5 m -182.709648 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -182.71 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -204.35129 49.5 m -204.35129 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -204.351 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -219.706279 49.5 m -219.706279 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -219.706 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -231.616534 49.5 m -231.616534 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -231.617 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -241.347921 49.5 m -241.347921 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -241.348 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -249.575691 49.5 m -249.575691 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -249.576 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -256.70291 49.5 m -256.70291 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -256.703 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -262.989563 49.5 m -262.989563 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -262.99 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -305.609797 49.5 m -305.609797 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -305.61 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -327.251439 49.5 m -327.251439 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -327.251 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -342.606428 49.5 m -342.606428 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -342.606 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -354.516683 49.5 m -354.516683 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -354.517 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -364.24807 49.5 m -364.24807 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -364.248 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -372.475841 49.5 m -372.475841 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -372.476 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -379.60306 49.5 m -379.60306 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -379.603 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -385.889712 49.5 m -385.889712 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -385.89 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -428.509946 49.5 m -428.509946 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -428.51 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -450.151588 49.5 m -450.151588 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -450.152 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -465.506578 49.5 m -465.506578 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -465.507 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -477.416833 49.5 m -477.416833 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -477.417 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -487.14822 49.5 m -487.14822 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -487.148 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -495.37599 49.5 m -495.37599 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -495.376 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -502.503209 49.5 m -502.503209 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -502.503 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -508.789862 49.5 m -508.789862 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -508.79 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -551.410096 49.5 m -551.410096 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -551.41 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -573.051738 49.5 m -573.051738 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -573.052 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 114.45 o -grestore -gsave -50.000000 110.489319 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/minus glyphshow - -18.685547 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 187.93 o -grestore -gsave -56.000000 183.469233 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 261.41 o -grestore -gsave -56.000000 257.449148 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.429062 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/two glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 76.029171 m -583.2 76.029171 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 76.0292 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 85.209658 m -583.2 85.209658 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 85.2097 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 92.330598 m -583.2 92.330598 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 92.3306 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 98.148829 m -583.2 98.148829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 98.1488 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 103.068073 m -583.2 103.068073 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 103.068 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 107.329317 m -583.2 107.329317 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 107.329 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.088 m -583.2 111.088 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.088 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 136.569915 m -583.2 136.569915 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 136.57 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 149.509085 m -583.2 149.509085 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 149.509 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 158.689573 m -583.2 158.689573 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 158.69 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 165.810512 m -583.2 165.810512 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 165.811 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 171.628744 m -583.2 171.628744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 171.629 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 176.547988 m -583.2 176.547988 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 176.548 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 180.809231 m -583.2 180.809231 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 180.809 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 184.567914 m -583.2 184.567914 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 184.568 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 210.049829 m -583.2 210.049829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 210.05 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 222.989 m -583.2 222.989 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 222.989 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 232.169488 m -583.2 232.169488 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 232.169 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 239.290427 m -583.2 239.290427 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 239.29 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 245.108658 m -583.2 245.108658 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 245.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 250.027903 m -583.2 250.027903 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 250.028 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 254.289146 m -583.2 254.289146 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 254.289 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 258.047829 m -583.2 258.047829 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 258.048 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 283.529744 m -583.2 283.529744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 283.53 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 296.468914 m -583.2 296.468914 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 296.469 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 305.649402 m -583.2 305.649402 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 305.649 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 312.770342 m -583.2 312.770342 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 312.77 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 318.588573 m -583.2 318.588573 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 318.589 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 323.507817 m -583.2 323.507817 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 323.508 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.769061 m -583.2 327.769061 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.769 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 331.527744 m -583.2 331.527744 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 331.528 o -grestore -gsave -43.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -455.104786 63.09 m -455.045398 76.029171 l -454.985943 85.209658 l -454.926423 92.330598 l -454.866836 98.148829 l -454.807182 103.068073 l -454.747462 107.329317 l -454.687674 111.088 l -454.62782 114.450256 l -454.025556 136.569915 l -453.416419 149.509085 l -452.800249 158.689573 l -452.176884 165.810512 l -451.546152 171.628744 l -450.907877 176.547988 l -450.261877 180.809231 l -449.607963 184.567914 l -448.945937 187.930171 l -441.830578 210.049829 l -433.618616 222.989 l -423.909353 232.169488 l -412.032267 239.290427 l -396.732514 245.108658 l -375.201173 250.027903 l -338.534084 254.289146 l -103.827273 258.047829 l --1 258.050695 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -455.105 63.09 o -455.045 76.0292 o -454.986 85.2097 o -454.926 92.3306 o -454.867 98.1488 o -454.807 103.068 o -454.747 107.329 o -454.688 111.088 o -454.628 114.45 o -454.026 136.57 o -453.416 149.509 o -452.8 158.69 o -452.177 165.811 o -451.546 171.629 o -450.908 176.548 o -450.262 180.809 o -449.608 184.568 o -448.946 187.93 o -441.831 210.05 o -433.619 222.989 o -423.909 232.169 o -412.032 239.29 o -396.733 245.109 o -375.201 250.028 o -338.534 254.289 o -103.827 258.048 o --1 258.051 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -428.475243 63.09 m -428.459219 76.029171 l -428.44319 85.209658 l -428.427156 92.330598 l -428.411118 98.148829 l -428.395074 103.068073 l -428.379026 107.329317 l -428.362973 111.088 l -428.346915 114.450256 l -428.186069 136.569915 l -428.024737 149.509085 l -427.862916 158.689573 l -427.700603 165.810512 l -427.537794 171.628744 l -427.374488 176.547988 l -427.21068 180.809231 l -427.046368 184.567914 l -426.881549 187.930171 l -425.204743 210.049829 l -423.473546 222.989 l -421.684311 232.169488 l -419.83301 239.290427 l -417.915182 245.108658 l -415.925868 250.027903 l -413.859531 254.289146 l -411.709966 258.047829 l -409.470185 261.410085 l -379.601725 283.529744 l -305.615134 296.468914 l --1 296.491766 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -428.475 63.09 o -428.459 76.0292 o -428.443 85.2097 o -428.427 92.3306 o -428.411 98.1488 o -428.395 103.068 o -428.379 107.329 o -428.363 111.088 o -428.347 114.45 o -428.186 136.57 o -428.025 149.509 o -427.863 158.69 o -427.701 165.811 o -427.538 171.629 o -427.374 176.548 o -427.211 180.809 o -427.046 184.568 o -426.882 187.93 o -425.205 210.05 o -423.474 222.989 o -421.684 232.169 o -419.833 239.29 o -417.915 245.109 o -415.926 250.028 o -413.86 254.289 o -411.71 258.048 o -409.47 261.41 o -379.602 283.53 o -305.615 296.469 o --1 296.492 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -560.361671 76.029171 l -560.350612 85.209658 l -560.339551 92.330598 l -560.328487 98.148829 l -560.317422 103.068073 l -560.306353 107.329317 l -560.295283 111.088 l -560.284211 114.450256 l -560.173358 136.569915 l -560.062274 149.509085 l -559.950959 158.689573 l -559.839411 165.810512 l -559.72763 171.628744 l -559.615614 176.547988 l -559.503363 180.809231 l -559.390874 184.567914 l -559.278149 187.930171 l -558.137601 210.049829 l -556.972148 222.989 l -555.780678 232.169488 l -554.562003 239.290427 l -553.314851 245.108658 l -552.03786 250.027903 l -550.729566 254.289146 l -549.388397 258.047829 l -548.012656 261.410085 l -531.861738 283.529744 l -508.591721 296.468914 l -466.388827 305.649402 l --1 305.676386 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -560.362 76.0292 o -560.351 85.2097 o -560.34 92.3306 o -560.328 98.1488 o -560.317 103.068 o -560.306 107.329 o -560.295 111.088 o -560.284 114.45 o -560.173 136.57 o -560.062 149.509 o -559.951 158.69 o -559.839 165.811 o -559.728 171.629 o -559.616 176.548 o -559.503 180.809 o -559.391 184.568 o -559.278 187.93 o -558.138 210.05 o -556.972 222.989 o -555.781 232.169 o -554.562 239.29 o -553.315 245.109 o -552.038 250.028 o -550.73 254.289 o -549.388 258.048 o -548.013 261.41 o -531.862 283.53 o -508.592 296.469 o -466.389 305.649 o --1 305.676 o -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -552.451267 63.09 m -552.443415 76.029171 l -552.435562 85.209658 l -552.427708 92.330598 l -552.419852 98.148829 l -552.411995 103.068073 l -552.404137 107.329317 l -552.396278 111.088 l -552.388418 114.450256 l -552.309752 136.569915 l -552.23097 149.509085 l -552.152072 158.689573 l -552.073056 165.810512 l -551.993924 171.628744 l -551.914674 176.547988 l -551.835306 180.809231 l -551.75582 184.567914 l -551.676216 187.930171 l -550.873571 210.049829 l -550.058673 222.989 l -549.231139 232.169488 l -548.390573 239.290427 l -547.536558 245.108658 l -546.668655 250.027903 l -545.786407 254.289146 l -544.88933 258.047829 l -543.976917 261.410085 l -533.876159 283.529744 l -521.407009 296.468914 l -505.107323 305.649402 l -481.524596 312.770342 l -438.241428 318.588573 l --1 318.606095 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -552.451 63.09 o -552.443 76.0292 o -552.436 85.2097 o -552.428 92.3306 o -552.42 98.1488 o -552.412 103.068 o -552.404 107.329 o -552.396 111.088 o -552.388 114.45 o -552.31 136.57 o -552.231 149.509 o -552.152 158.69 o -552.073 165.811 o -551.994 171.629 o -551.915 176.548 o -551.835 180.809 o -551.756 184.568 o -551.676 187.93 o -550.874 210.05 o -550.059 222.989 o -549.231 232.169 o -548.391 239.29 o -547.537 245.109 o -546.669 250.028 o -545.786 254.289 o -544.889 258.048 o -543.977 261.41 o -533.876 283.53 o -521.407 296.469 o -505.107 305.649 o -481.525 312.77 o -438.241 318.589 o --1 318.606 o -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -497.761007 63.09 m -497.712375 76.029171 l -497.663698 85.209658 l -497.614976 92.330598 l -497.56621 98.148829 l -497.5174 103.068073 l -497.468544 107.329317 l -497.419644 111.088 l -497.3707 114.450256 l -496.878766 136.569915 l -496.382257 149.509085 l -495.881086 158.689573 l -495.375164 165.810512 l -494.864401 171.628744 l -494.348703 176.547988 l -493.827973 180.809231 l -493.302114 184.567914 l -492.771021 187.930171 l -487.147478 210.049829 l -480.8609 222.989 l -473.733776 232.169488 l -465.506133 239.290427 l -455.774924 245.108658 l -443.864936 250.027903 l -428.510391 254.289146 l -406.869639 258.047829 l -369.875676 261.410085 l --1 261.476648 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -497.761 63.09 o -497.712 76.0292 o -497.664 85.2097 o -497.615 92.3306 o -497.566 98.1488 o -497.517 103.068 o -497.469 107.329 o -497.42 111.088 o -497.371 114.45 o -496.879 136.57 o -496.382 149.509 o -495.881 158.69 o -495.375 165.811 o -494.864 171.629 o -494.349 176.548 o -493.828 180.809 o -493.302 184.568 o -492.771 187.93 o -487.147 210.05 o -480.861 222.989 o -473.734 232.169 o -465.506 239.29 o -455.775 245.109 o -443.865 250.028 o -428.51 254.289 o -406.87 258.048 o -369.876 261.41 o --1 261.477 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -88 54.5 m -156.5 54.5 l -157.833333 54.5 158.5 55.166667 158.5 56.5 c -158.5 128.859375 l -158.5 130.192708 157.833333 130.859375 156.5 130.859375 c -88 130.859375 l -86.666667 130.859375 86 130.192708 86 128.859375 c -86 56.5 l -86 55.166667 86.666667 54.5 88 54.5 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -90 122.765625 m -110 122.765625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 122.766 o -grestore -0.000 setgray -gsave -118.000000 119.265625 translate -0.000000 rotate -0.000000 0.000000 m /H glyphshow -7.519531 0.000000 m /two glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -90 108.09375 m -110 108.09375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 108.094 o -grestore -0.000 setgray -gsave -118.000000 104.593750 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -90 93.421875 m -110 93.421875 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 93.4219 o -grestore -0.000 setgray -gsave -118.000000 89.921875 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.839 0.153 0.157 setrgbcolor -gsave -90 78.75 m -110 78.75 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.839 0.153 0.157 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 78.75 o -grestore -0.000 setgray -gsave -118.000000 75.250000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -2 setlinecap -0.580 0.404 0.741 setrgbcolor -gsave -90 64.078125 m -110 64.078125 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.580 0.404 0.741 setrgbcolor -fill -grestore -stroke -grestore -} bind def -100 64.0781 o -grestore -0.000 setgray -gsave -118.000000 60.578125 translate -0.000000 rotate -0.000000 0.000000 m /A glyphshow -6.840820 0.000000 m /l glyphshow -9.619141 0.000000 m /c glyphshow -15.117188 0.000000 m /o glyphshow -21.235352 0.000000 m /h glyphshow -27.573242 0.000000 m /o glyphshow -33.691406 0.000000 m /l glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /eight glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ8.png b/Internal_design_documents/Experiments/MQ8.png deleted file mode 100644 index 4bbdf30..0000000 Binary files a/Internal_design_documents/Experiments/MQ8.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ8.svg b/Internal_design_documents/Experiments/MQ8.svg deleted file mode 100644 index 88d68d7..0000000 --- a/Internal_design_documents/Experiments/MQ8.svg +++ /dev/null @@ -1,2239 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ8_Regression.ipynb b/Internal_design_documents/Experiments/MQ8_Regression.ipynb deleted file mode 100644 index 03be25a..0000000 --- a/Internal_design_documents/Experiments/MQ8_Regression.ipynb +++ /dev/null @@ -1,2605 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.01 \t \t \t \t \t \n", - "0.02 \t \t \t \t \t \n", - "0.03 \t \t \t \t \t \n", - "0.04 \t \t \t \t \t \n", - "0.05 \t \t \t \t \t \n", - "0.06 \t \t \t \t \t \n", - "0.07 \t \t \t \t \t \n", - "0.08 \t \t \t \t \t \n", - "0.09 \t \t \t \t \t \n", - "0.1 \t \t 5000.0 \t \t \t \n", - "0.2 \t \t \t \t \t \n", - "0.3 \t \t \t \t \t \n", - "0.4 \t \t \t \t \t \n", - "0.5 \t \t \t \t \t \n", - "0.6 \t \t \t \t \t \n", - "0.7 \t \t \t \t \t \n", - "0.8 \t \t \t \t \t \n", - "0.9 \t \t \t \t \t \n", - "1.0 \t \t 1000.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, H2, LPG, CH4, CO, Alcohol = sheetMQ8.row_values(row_index, start_colx=0, end_colx=6)\n", - " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ8 = sheetMQ8.col_values(0)[2:]\n", - "MQ8_H2 = sheetMQ8.col_values(1)[2:]\n", - "MQ8_LPG = sheetMQ8.col_values(2)[2:]\n", - "MQ8_CH4 = sheetMQ8.col_values(3)[2:]\n", - "MQ8_CO = sheetMQ8.col_values(4)[2:]\n", - "MQ8_Alcohol = sheetMQ8.col_values(5)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "MQ8_H2 =zero_to_nan(MQ8_H2)\n", - "MQ8_LPG =zero_to_nan(MQ8_LPG)\n", - "MQ8_CH4 =zero_to_nan(MQ8_CH4)\n", - "MQ8_CO =zero_to_nan(MQ8_CO)\n", - "MQ8_Alcohol =zero_to_nan(MQ8_Alcohol)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataH2 = {'RsRo': x_MQ8, 'H2': MQ8_H2}\n", - "dataLPG = {'RsRo': x_MQ8, 'LPG': MQ8_LPG}\n", - "dataCH4 = {'RsRo': x_MQ8, 'CH4': MQ8_CH4}\n", - "dataCO = {'RsRo': x_MQ8, 'CO': MQ8_CO}\n", - "dataALcohol = {'RsRo': x_MQ8, 'Alcohol': MQ8_Alcohol}\n", - "\n", - "dfMQ8_H2 = pd.DataFrame(dataH2)\n", - "dfMQ8_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ8_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ8_CO = pd.DataFrame(dataCO)\n", - "dfMQ8_Alcohol = pd.DataFrame(dataALcohol)\n", - "\n", - "dfMQ8_H2['H2'] = pd.to_numeric(dfMQ8_H2['H2'])\n", - "dfMQ8_LPG['LPG'] = pd.to_numeric(dfMQ8_LPG['LPG'])\n", - "dfMQ8_CH4['CH4'] = pd.to_numeric(dfMQ8_CH4['CH4'])\n", - "dfMQ8_CO['CO'] = pd.to_numeric(dfMQ8_CO['CO'])\n", - "dfMQ8_Alcohol['Alcohol'] = pd.to_numeric(dfMQ8_Alcohol['Alcohol'])\n", - "\n", - "dfMQ8_H2['H2'] = dfMQ8_H2['H2'].replace('',None, regex=True)\n", - "dfMQ8_LPG['LPG'] = dfMQ8_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ8_CH4['CH4'] = dfMQ8_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ8_CO['CO'] = dfMQ8_CO['CO'].replace('',None, regex=True)\n", - "dfMQ8_Alcohol['Alcohol'] = dfMQ8_Alcohol['Alcohol'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ8_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train H2\n", - "dataset2TrainH2 = dfMQ8_H2.copy()\n", - "dataset2TrainH2.dropna(inplace=True)\n", - "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainH2 = dataset2TrainH2['H2'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainH2, y_trainH2)\n", - "#Predict\n", - "H2_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_H2 = H2_Predicted\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ8_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ8_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ8_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train Alcohol\n", - "dataset2TrainAlcohol = dfMQ8_Alcohol.copy()\n", - "dataset2TrainAlcohol.dropna(inplace=True)\n", - "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainAlcohol, y_trainAlcohol)\n", - "#Predict\n", - "Alcohol_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ8_Alcohol = Alcohol_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ8_H2, x_MQ8, marker='o', linewidth=1, label='H2')\n", - "plt.plot(MQ8_LPG, x_MQ8, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ8_CH4, x_MQ8, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ8_CO, x_MQ8, marker='o', linewidth=1, label='CO')\n", - "plt.plot(MQ8_Alcohol, x_MQ8, marker='o', linewidth=1, label='Alcohol')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-8 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ8.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ8.png')\n", - "plt.savefig('MQ8.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/MQ9.eps b/Internal_design_documents/Experiments/MQ9.eps deleted file mode 100644 index cb0e350..0000000 --- a/Internal_design_documents/Experiments/MQ9.eps +++ /dev/null @@ -1,2114 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Title: MQ9.eps -%%Creator: matplotlib version 3.0.3, http://matplotlib.org/ -%%CreationDate: Wed Jul 3 21:09:12 2019 -%%Orientation: portrait -%%BoundingBox: -18 198 630 594 -%%EndComments -%%BeginProlog -/mpldict 8 dict def -mpldict begin -/m { moveto } bind def -/l { lineto } bind def -/r { rlineto } bind def -/c { curveto } bind def -/cl { closepath } bind def -/box { -m -1 index 0 r -0 exch r -neg 0 r -cl -} bind def -/clipbox { -box -clip -newpath -} bind def -%!PS-Adobe-3.0 Resource-Font -%%Title: DejaVu Sans -%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain -%%Creator: Converted from TrueType to type 3 by PPR -25 dict begin -/_d{bind def}bind def -/_m{moveto}_d -/_l{lineto}_d -/_cl{closepath eofill}_d -/_c{curveto}_d -/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d -/_e{exec}_d -/FontName /DejaVuSans def -/PaintType 0 def -/FontMatrix[.001 0 0 .001 0 0]def -/FontBBox[-1021 -463 1793 1232]def -/FontType 3 def -/Encoding [ /space /hyphen /slash /zero /one /three /four /nine /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /i /l /n /o /p /r /s /t ] def -/FontInfo 10 dict dup begin -/FamilyName (DejaVu Sans) def -/FullName (DejaVu Sans) def -/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def -/Weight (Book) def -/Version (Version 2.35) def -/ItalicAngle 0.0 def -/isFixedPitch false def -/UnderlinePosition -130 def -/UnderlineThickness 90 def -end readonly def -/CharStrings 32 dict dup begin -/.notdef 0 def -/space{318 0 0 0 0 0 _sc -}_d -/hyphen{361 0 49 234 312 314 _sc -49 314 _m -312 314 _l -312 234 _l -49 234 _l -49 314 _l -_cl}_d -/slash{337 0 0 -92 337 729 _sc -254 729 _m -337 729 _l -83 -92 _l -0 -92 _l -254 729 _l -_cl}_d -/zero{636 0 66 -13 570 742 _sc -318 664 _m -267 664 229 639 203 589 _c -177 539 165 464 165 364 _c -165 264 177 189 203 139 _c -229 89 267 64 318 64 _c -369 64 407 89 433 139 _c -458 189 471 264 471 364 _c -471 464 458 539 433 589 _c -407 639 369 664 318 664 _c -318 742 _m -399 742 461 709 505 645 _c -548 580 570 486 570 364 _c -570 241 548 147 505 83 _c -461 19 399 -13 318 -13 _c -236 -13 173 19 130 83 _c -87 147 66 241 66 364 _c -66 486 87 580 130 645 _c -173 709 236 742 318 742 _c -_cl}_d -/one{636 0 110 0 544 729 _sc -124 83 _m -285 83 _l -285 639 _l -110 604 _l -110 694 _l -284 729 _l -383 729 _l -383 83 _l -544 83 _l -544 0 _l -124 0 _l -124 83 _l -_cl}_d -/three{{636 0 76 -13 556 742 _sc -406 393 _m -453 383 490 362 516 330 _c -542 298 556 258 556 212 _c -556 140 531 84 482 45 _c -432 6 362 -13 271 -13 _c -240 -13 208 -10 176 -4 _c -144 1 110 10 76 22 _c -76 117 _l -103 101 133 89 166 81 _c -198 73 232 69 268 69 _c -330 69 377 81 409 105 _c -441 129 458 165 458 212 _c -458 254 443 288 413 312 _c -383 336 341 349 287 349 _c -}_e{202 349 _l -202 430 _l -291 430 _l -339 430 376 439 402 459 _c -428 478 441 506 441 543 _c -441 580 427 609 401 629 _c -374 649 336 659 287 659 _c -260 659 231 656 200 650 _c -169 644 135 635 98 623 _c -98 711 _l -135 721 170 729 203 734 _c -235 739 266 742 296 742 _c -370 742 429 725 473 691 _c -517 657 539 611 539 553 _c -539 513 527 479 504 451 _c -481 423 448 403 406 393 _c -_cl}_e}_d -/four{636 0 49 0 580 729 _sc -378 643 _m -129 254 _l -378 254 _l -378 643 _l -352 729 _m -476 729 _l -476 254 _l -580 254 _l -580 172 _l -476 172 _l -476 0 _l -378 0 _l -378 172 _l -49 172 _l -49 267 _l -352 729 _l -_cl}_d -/nine{{636 0 63 -13 566 742 _sc -110 15 _m -110 105 _l -134 93 159 84 185 78 _c -210 72 235 69 260 69 _c -324 69 374 90 408 134 _c -442 178 462 244 468 334 _c -448 306 424 284 396 269 _c -367 254 335 247 300 247 _c -226 247 168 269 126 313 _c -84 357 63 417 63 494 _c -63 568 85 628 129 674 _c -173 719 232 742 306 742 _c -390 742 455 709 499 645 _c -543 580 566 486 566 364 _c -}_e{566 248 538 157 484 89 _c -429 21 356 -13 264 -13 _c -239 -13 214 -10 189 -6 _c -163 -2 137 5 110 15 _c -306 324 _m -350 324 385 339 411 369 _c -437 399 450 441 450 494 _c -450 546 437 588 411 618 _c -385 648 350 664 306 664 _c -262 664 227 648 201 618 _c -175 588 162 546 162 494 _c -162 441 175 399 201 369 _c -227 339 262 324 306 324 _c -_cl}_e}_d -/C{{698 0 56 -13 644 742 _sc -644 673 _m -644 569 _l -610 599 575 622 537 638 _c -499 653 460 661 418 661 _c -334 661 270 635 226 584 _c -182 533 160 460 160 364 _c -160 268 182 194 226 143 _c -270 92 334 67 418 67 _c -460 67 499 74 537 90 _c -575 105 610 128 644 159 _c -644 56 _l -609 32 572 15 534 4 _c -496 -7 455 -13 412 -13 _c -302 -13 215 20 151 87 _c -}_e{87 154 56 246 56 364 _c -56 481 87 573 151 641 _c -215 708 302 742 412 742 _c -456 742 497 736 535 725 _c -573 713 610 696 644 673 _c -_cl}_e}_d -/G{{775 0 56 -13 693 742 _sc -595 104 _m -595 300 _l -434 300 _l -434 381 _l -693 381 _l -693 68 _l -655 40 613 20 567 7 _c -521 -6 472 -13 420 -13 _c -306 -13 216 20 152 86 _c -88 152 56 245 56 364 _c -56 482 88 575 152 642 _c -216 708 306 742 420 742 _c -467 742 512 736 555 724 _c -598 712 638 695 674 673 _c -674 568 _l -637 598 598 621 557 637 _c -516 653 473 661 428 661 _c -}_e{338 661 271 636 227 586 _c -182 536 160 462 160 364 _c -160 265 182 191 227 141 _c -271 91 338 67 428 67 _c -462 67 493 70 521 76 _c -549 82 573 91 595 104 _c -_cl}_e}_d -/H{752 0 98 0 654 729 _sc -98 729 _m -197 729 _l -197 430 _l -555 430 _l -555 729 _l -654 729 _l -654 0 _l -555 0 _l -555 347 _l -197 347 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/L{557 0 98 0 552 729 _sc -98 729 _m -197 729 _l -197 83 _l -552 83 _l -552 0 _l -98 0 _l -98 729 _l -_cl}_d -/M{863 0 98 0 765 729 _sc -98 729 _m -245 729 _l -431 233 _l -618 729 _l -765 729 _l -765 0 _l -669 0 _l -669 640 _l -481 140 _l -382 140 _l -194 640 _l -194 0 _l -98 0 _l -98 729 _l -_cl}_d -/O{787 0 56 -13 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -394 742 _m -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 248 700 157 639 89 _c -577 21 496 -13 394 -13 _c -291 -13 209 21 148 89 _c -86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -_cl}_d -/P{603 0 98 0 569 729 _sc -197 648 _m -197 374 _l -321 374 _l -367 374 402 385 427 409 _c -452 433 465 467 465 511 _c -465 555 452 588 427 612 _c -402 636 367 648 321 648 _c -197 648 _l -98 729 _m -321 729 _l -402 729 464 710 506 673 _c -548 636 569 582 569 511 _c -569 439 548 384 506 348 _c -464 311 402 293 321 293 _c -197 293 _l -197 0 _l -98 0 _l -98 729 _l -_cl}_d -/Q{{787 0 56 -128 731 742 _sc -394 662 _m -322 662 265 635 223 582 _c -181 528 160 456 160 364 _c -160 272 181 199 223 146 _c -265 92 322 66 394 66 _c -465 66 522 92 564 146 _c -606 199 627 272 627 364 _c -627 456 606 528 564 582 _c -522 635 465 662 394 662 _c -532 13 _m -662 -128 _l -543 -128 _l -435 -11 _l -424 -11 416 -12 410 -12 _c -404 -12 399 -13 394 -13 _c -291 -13 209 21 148 89 _c -}_e{86 157 56 248 56 364 _c -56 479 86 571 148 639 _c -209 707 291 742 394 742 _c -496 742 577 707 639 639 _c -700 571 731 479 731 364 _c -731 279 714 206 680 146 _c -646 86 596 41 532 13 _c -_cl}_e}_d -/R{{695 0 98 0 666 729 _sc -444 342 _m -465 334 486 319 506 296 _c -526 272 546 240 566 199 _c -666 0 _l -560 0 _l -467 187 _l -443 235 419 268 397 284 _c -374 300 343 308 304 308 _c -197 308 _l -197 0 _l -98 0 _l -98 729 _l -321 729 _l -404 729 466 711 507 677 _c -548 642 569 589 569 519 _c -569 473 558 434 537 404 _c -515 374 484 353 444 342 _c -197 648 _m -197 389 _l -321 389 _l -}_e{368 389 404 400 428 422 _c -452 444 465 476 465 519 _c -465 561 452 593 428 615 _c -404 637 368 648 321 648 _c -197 648 _l -_cl}_e}_d -/a{{613 0 60 -13 522 560 _sc -343 275 _m -270 275 220 266 192 250 _c -164 233 150 205 150 165 _c -150 133 160 107 181 89 _c -202 70 231 61 267 61 _c -317 61 357 78 387 114 _c -417 149 432 196 432 255 _c -432 275 _l -343 275 _l -522 312 _m -522 0 _l -432 0 _l -432 83 _l -411 49 385 25 355 10 _c -325 -5 287 -13 243 -13 _c -187 -13 142 2 109 33 _c -76 64 60 106 60 159 _c -}_e{60 220 80 266 122 298 _c -163 329 224 345 306 345 _c -432 345 _l -432 354 _l -432 395 418 427 391 450 _c -364 472 326 484 277 484 _c -245 484 215 480 185 472 _c -155 464 127 453 100 439 _c -100 522 _l -132 534 164 544 195 550 _c -226 556 256 560 286 560 _c -365 560 424 539 463 498 _c -502 457 522 395 522 312 _c -_cl}_e}_d -/b{{635 0 91 -13 580 760 _sc -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -181 464 _m -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -}_e{580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -181 0 _l -91 0 _l -91 760 _l -181 760 _l -181 464 _l -_cl}_e}_d -/c{{550 0 55 -13 488 560 _sc -488 526 _m -488 442 _l -462 456 437 466 411 473 _c -385 480 360 484 334 484 _c -276 484 230 465 198 428 _c -166 391 150 339 150 273 _c -150 206 166 154 198 117 _c -230 80 276 62 334 62 _c -360 62 385 65 411 72 _c -437 79 462 90 488 104 _c -488 21 _l -462 9 436 0 410 -5 _c -383 -10 354 -13 324 -13 _c -242 -13 176 12 128 64 _c -}_e{79 115 55 185 55 273 _c -55 362 79 432 128 483 _c -177 534 244 560 330 560 _c -358 560 385 557 411 551 _c -437 545 463 537 488 526 _c -_cl}_e}_d -/d{{635 0 55 -13 544 760 _sc -454 464 _m -454 760 _l -544 760 _l -544 0 _l -454 0 _l -454 82 _l -435 49 411 25 382 10 _c -353 -5 319 -13 279 -13 _c -213 -13 159 13 117 65 _c -75 117 55 187 55 273 _c -55 359 75 428 117 481 _c -159 533 213 560 279 560 _c -319 560 353 552 382 536 _c -411 520 435 496 454 464 _c -148 273 _m -148 207 161 155 188 117 _c -215 79 253 61 301 61 _c -}_e{348 61 385 79 413 117 _c -440 155 454 207 454 273 _c -454 339 440 390 413 428 _c -385 466 348 485 301 485 _c -253 485 215 466 188 428 _c -161 390 148 339 148 273 _c -_cl}_e}_d -/e{{615 0 55 -13 562 560 _sc -562 296 _m -562 252 _l -149 252 _l -153 190 171 142 205 110 _c -238 78 284 62 344 62 _c -378 62 412 66 444 74 _c -476 82 509 95 541 113 _c -541 28 _l -509 14 476 3 442 -3 _c -408 -9 373 -13 339 -13 _c -251 -13 182 12 131 62 _c -80 112 55 181 55 268 _c -55 357 79 428 127 481 _c -175 533 241 560 323 560 _c -397 560 455 536 498 489 _c -}_e{540 441 562 377 562 296 _c -472 322 _m -471 371 457 410 431 440 _c -404 469 368 484 324 484 _c -274 484 234 469 204 441 _c -174 413 156 373 152 322 _c -472 322 _l -_cl}_e}_d -/f{352 0 23 0 371 760 _sc -371 760 _m -371 685 _l -285 685 _l -253 685 230 678 218 665 _c -205 652 199 629 199 595 _c -199 547 _l -347 547 _l -347 477 _l -199 477 _l -199 0 _l -109 0 _l -109 477 _l -23 477 _l -23 547 _l -109 547 _l -109 585 _l -109 645 123 690 151 718 _c -179 746 224 760 286 760 _c -371 760 _l -_cl}_d -/i{278 0 94 0 184 760 _sc -94 547 _m -184 547 _l -184 0 _l -94 0 _l -94 547 _l -94 760 _m -184 760 _l -184 646 _l -94 646 _l -94 760 _l -_cl}_d -/l{278 0 94 0 184 760 _sc -94 760 _m -184 760 _l -184 0 _l -94 0 _l -94 760 _l -_cl}_d -/n{634 0 91 0 549 560 _sc -549 330 _m -549 0 _l -459 0 _l -459 327 _l -459 379 448 417 428 443 _c -408 469 378 482 338 482 _c -289 482 251 466 223 435 _c -195 404 181 362 181 309 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -202 494 227 519 257 535 _c -286 551 320 560 358 560 _c -420 560 468 540 500 501 _c -532 462 549 405 549 330 _c -_cl}_d -/o{612 0 55 -13 557 560 _sc -306 484 _m -258 484 220 465 192 427 _c -164 389 150 338 150 273 _c -150 207 163 156 191 118 _c -219 80 257 62 306 62 _c -354 62 392 80 420 118 _c -448 156 462 207 462 273 _c -462 337 448 389 420 427 _c -392 465 354 484 306 484 _c -306 560 _m -384 560 445 534 490 484 _c -534 433 557 363 557 273 _c -557 183 534 113 490 63 _c -445 12 384 -13 306 -13 _c -227 -13 165 12 121 63 _c -77 113 55 183 55 273 _c -55 363 77 433 121 484 _c -165 534 227 560 306 560 _c -_cl}_d -/p{{635 0 91 -207 580 560 _sc -181 82 _m -181 -207 _l -91 -207 _l -91 547 _l -181 547 _l -181 464 _l -199 496 223 520 252 536 _c -281 552 316 560 356 560 _c -422 560 476 533 518 481 _c -559 428 580 359 580 273 _c -580 187 559 117 518 65 _c -476 13 422 -13 356 -13 _c -316 -13 281 -5 252 10 _c -223 25 199 49 181 82 _c -487 273 _m -487 339 473 390 446 428 _c -418 466 381 485 334 485 _c -}_e{286 485 249 466 222 428 _c -194 390 181 339 181 273 _c -181 207 194 155 222 117 _c -249 79 286 61 334 61 _c -381 61 418 79 446 117 _c -473 155 487 207 487 273 _c -_cl}_e}_d -/r{411 0 91 0 411 560 _sc -411 463 _m -401 469 390 473 378 476 _c -366 478 353 480 339 480 _c -288 480 249 463 222 430 _c -194 397 181 350 181 288 _c -181 0 _l -91 0 _l -91 547 _l -181 547 _l -181 462 _l -199 495 224 520 254 536 _c -284 552 321 560 365 560 _c -371 560 378 559 386 559 _c -393 558 401 557 411 555 _c -411 463 _l -_cl}_d -/s{{521 0 54 -13 472 560 _sc -443 531 _m -443 446 _l -417 458 391 468 364 475 _c -336 481 308 485 279 485 _c -234 485 200 478 178 464 _c -156 450 145 430 145 403 _c -145 382 153 366 169 354 _c -185 342 217 330 265 320 _c -296 313 _l -360 299 405 279 432 255 _c -458 230 472 195 472 151 _c -472 100 452 60 412 31 _c -372 1 316 -13 246 -13 _c -216 -13 186 -10 154 -5 _c -}_e{122 0 89 8 54 20 _c -54 113 _l -87 95 120 82 152 74 _c -184 65 216 61 248 61 _c -290 61 323 68 346 82 _c -368 96 380 117 380 144 _c -380 168 371 187 355 200 _c -339 213 303 226 247 238 _c -216 245 _l -160 257 119 275 95 299 _c -70 323 58 356 58 399 _c -58 450 76 490 112 518 _c -148 546 200 560 268 560 _c -301 560 332 557 362 552 _c -391 547 418 540 443 531 _c -}_e{_cl}_e}_d -/t{392 0 27 0 368 702 _sc -183 702 _m -183 547 _l -368 547 _l -368 477 _l -183 477 _l -183 180 _l -183 135 189 106 201 94 _c -213 81 238 75 276 75 _c -368 75 _l -368 0 _l -276 0 _l -206 0 158 13 132 39 _c -106 65 93 112 93 180 _c -93 477 _l -27 477 _l -27 547 _l -93 547 _l -93 702 _l -183 702 _l -_cl}_d -end readonly def - -/BuildGlyph - {exch begin - CharStrings exch - 2 copy known not{pop /.notdef}if - true 3 1 roll get exec - end}_d - -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -}_d - -FontName currentdict end definefont pop -end -%%EndProlog -mpldict begin --18 198 translate -648 396 0 0 clipbox -gsave -0 0 m -648 0 l -648 396 l -0 396 l -cl -1.000 setgray -fill -grestore -gsave -81 49.5 m -583.2 49.5 l -583.2 348.48 l -81 348.48 l -cl -1.000 setgray -fill -grestore -0.800 setlinewidth -1 setlinejoin -0 setlinecap -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -3.5 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -360.342 49.5 o -grestore -gsave -351.341908 33.578125 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/three glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -108.398344 49.5 m -108.398344 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -108.398 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -171.870394 49.5 m -171.870394 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -171.87 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -216.904531 49.5 m -216.904531 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -216.905 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -251.835721 49.5 m -251.835721 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -251.836 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -280.376581 49.5 m -280.376581 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -280.377 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -304.507535 49.5 m -304.507535 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -304.508 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -325.410718 49.5 m -325.410718 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -325.411 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -343.848632 49.5 m -343.848632 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -343.849 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -468.848095 49.5 m -468.848095 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -468.848 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -532.320145 49.5 m -532.320145 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -532.32 49.5 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -577.354282 49.5 m -577.354282 348.48 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m -0 -2 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -577.354 49.5 o -grestore -/DejaVuSans findfont -10.000 scalefont -setfont -gsave -284.771875 19.906250 translate -0.000000 rotate -0.000000 0.000000 m /P glyphshow -6.030273 0.000000 m /P glyphshow -12.060547 0.000000 m /M glyphshow -20.688477 0.000000 m /space glyphshow -23.867188 0.000000 m /C glyphshow -30.849609 0.000000 m /o glyphshow -36.967773 0.000000 m /n glyphshow -43.305664 0.000000 m /c glyphshow -48.803711 0.000000 m /e glyphshow -54.956055 0.000000 m /n glyphshow -61.293945 0.000000 m /t glyphshow -65.214844 0.000000 m /r glyphshow -69.326172 0.000000 m /a glyphshow -75.454102 0.000000 m /t glyphshow -79.375000 0.000000 m /i glyphshow -82.153320 0.000000 m /o glyphshow -88.271484 0.000000 m /n glyphshow -grestore -0.800 setlinewidth -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 174.911 o -grestore -gsave -56.000000 170.449781 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.976562 moveto -/one glyphshow - -6.362305 0.976562 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 4.804688 moveto -/zero glyphshow - - -grestore -gsave -/o { -gsave -newpath -translate -0.8 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --3.5 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 334.89 o -grestore -gsave -56.000000 330.929063 translate -0.000000 rotate -/DejaVuSans findfont -10.0 scalefont -setfont -0.000000 0.064063 moveto -/one glyphshow - -6.362305 0.064063 moveto -/zero glyphshow - -/DejaVuSans findfont -7.0 scalefont -setfont -12.820312 3.892188 moveto -/one glyphshow - - -grestore -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 63.09 m -583.2 63.09 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 63.09 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 91.260953 m -583.2 91.260953 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 91.261 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 111.248562 m -583.2 111.248562 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 111.249 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 126.752157 m -583.2 126.752157 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 126.752 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 139.419515 m -583.2 139.419515 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 139.42 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 150.129615 m -583.2 150.129615 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 150.13 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 159.407125 m -583.2 159.407125 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 159.407 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 167.590468 m -583.2 167.590468 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 167.59 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 223.069281 m -583.2 223.069281 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 223.069 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 251.240234 m -583.2 251.240234 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 251.24 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 271.227843 m -583.2 271.227843 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 271.228 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 286.731438 m -583.2 286.731438 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 286.731 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 299.398797 m -583.2 299.398797 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 299.399 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 310.108896 m -583.2 310.108896 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 310.109 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 319.386406 m -583.2 319.386406 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 319.386 o -grestore -0.800 setlinewidth -[2.96 1.28] 0 setdash -0.827 setgray -gsave -502.2 299 81 49.5 clipbox -81 327.56975 m -583.2 327.56975 l -stroke -grestore -0.600 setlinewidth -[] 0 setdash -0.000 setgray -gsave -/o { -gsave -newpath -translate -0.6 setlinewidth -1 setlinejoin -0 setlinecap -0 0 m --2 0 l - -gsave -0.000 setgray -fill -grestore -stroke -grestore -} bind def -81 327.57 o -grestore -gsave -49.921875 184.677500 translate -90.000000 rotate -0.000000 0.000000 m /R glyphshow -6.948242 0.000000 m /s glyphshow -12.158203 0.000000 m /slash glyphshow -15.527344 0.000000 m /R glyphshow -22.475586 0.000000 m /o glyphshow -grestore -1.000 setlinewidth -2 setlinecap -0.122 0.467 0.706 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -540.896354 63.09 m -531.904659 91.260953 l -522.36484 111.248562 l -512.205706 126.752157 l -501.341231 139.419515 l -489.666116 150.129615 l -477.049566 159.407125 l -463.326332 167.590468 l -448.283432 174.910719 l --1 174.970552 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -540.896 63.09 o -531.905 91.261 o -522.365 111.249 o -512.206 126.752 o -501.341 139.42 o -489.666 150.13 o -477.05 159.407 o -463.326 167.59 o -448.283 174.911 o --1 174.971 o -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -560.372727 63.09 m -555.312237 91.260953 l -550.082675 111.248562 l -544.672355 126.752157 l -539.06833 139.419515 l -533.256214 150.129615 l -527.219955 159.407125 l -520.94157 167.590468 l -514.400818 174.910719 l -427.314859 223.069281 l -213.874755 251.240234 l --1 251.252119 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -560.373 63.09 o -555.312 91.261 o -550.083 111.249 o -544.672 126.752 o -539.068 139.42 o -533.256 150.13 o -527.22 159.407 o -520.942 167.59 o -514.401 174.911 o -427.315 223.069 o -213.875 251.24 o --1 251.252 o -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -502.2 299 81 49.5 clipbox -401.822816 63.09 m -394.241476 91.260953 l -386.274201 111.248562 l -377.879577 126.752157 l -369.009152 139.419515 l -359.60573 150.129615 l -349.601141 159.407125 l -338.913237 167.590468 l -327.44179 174.910719 l -103.827273 223.069281 l --1 223.077455 l -stroke -grestore -0 setlinecap -gsave -502.2 299 81 49.5 clipbox -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -401.823 63.09 o -394.241 91.261 o -386.274 111.249 o -377.88 126.752 o -369.009 139.42 o -359.606 150.13 o -349.601 159.407 o -338.913 167.59 o -327.442 174.911 o -103.827 223.069 o --1 223.077 o -grestore -0.800 setlinewidth -0 setlinejoin -2 setlinecap -[] 0 setdash -0.000 setgray -gsave -81 49.5 m -81 348.48 l -stroke -grestore -gsave -583.2 49.5 m -583.2 348.48 l -stroke -grestore -gsave -81 49.5 m -583.2 49.5 l -stroke -grestore -gsave -81 348.48 m -583.2 348.48 l -stroke -grestore -1.000 setlinewidth -0 setlinecap -0.800 setgray -gsave -523.340625 296.464375 m -576.2 296.464375 l -577.533333 296.464375 578.2 297.131042 578.2 298.464375 c -578.2 341.48 l -578.2 342.813333 577.533333 343.48 576.2 343.48 c -523.340625 343.48 l -522.007292 343.48 521.340625 342.813333 521.340625 341.48 c -521.340625 298.464375 l -521.340625 297.131042 522.007292 296.464375 523.340625 296.464375 c -cl -gsave -1.000 setgray -fill -grestore -stroke -grestore -1 setlinejoin -2 setlinecap -[] 0 setdash -0.122 0.467 0.706 setrgbcolor -gsave -525.340625 335.38625 m -545.340625 335.38625 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.122 0.467 0.706 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 335.386 o -grestore -0.000 setgray -gsave -553.340625 331.886250 translate -0.000000 rotate -0.000000 0.000000 m /L glyphshow -5.571289 0.000000 m /P glyphshow -11.601562 0.000000 m /G glyphshow -grestore -2 setlinecap -1.000 0.498 0.055 setrgbcolor -gsave -525.340625 320.714375 m -545.340625 320.714375 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -1.000 0.498 0.055 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 320.714 o -grestore -0.000 setgray -gsave -553.340625 317.214375 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /H glyphshow -14.501953 0.000000 m /four glyphshow -grestore -2 setlinecap -0.173 0.627 0.173 setrgbcolor -gsave -525.340625 306.0425 m -545.340625 306.0425 l -stroke -grestore -0 setlinecap -gsave -/o { -gsave -newpath -translate -1.0 setlinewidth -1 setlinejoin -0 setlinecap -0 -3 m -0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c -2.683901 -1.55874 3 -0.795609 3 0 c -3 0.795609 2.683901 1.55874 2.12132 2.12132 c -1.55874 2.683901 0.795609 3 0 3 c --0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c --2.683901 1.55874 -3 0.795609 -3 0 c --3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c --1.55874 -2.683901 -0.795609 -3 0 -3 c -cl - -gsave -0.173 0.627 0.173 setrgbcolor -fill -grestore -stroke -grestore -} bind def -535.341 306.043 o -grestore -0.000 setgray -gsave -553.340625 302.542500 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -6.982422 0.000000 m /O glyphshow -grestore -/DejaVuSans findfont -12.000 scalefont -setfont -gsave -234.562500 378.955000 translate -0.000000 rotate -0.000000 0.000000 m /C glyphshow -8.378906 0.000000 m /a glyphshow -15.732422 0.000000 m /l glyphshow -19.066406 0.000000 m /i glyphshow -22.400391 0.000000 m /b glyphshow -30.017578 0.000000 m /r glyphshow -34.951172 0.000000 m /a glyphshow -42.304688 0.000000 m /t glyphshow -47.009766 0.000000 m /i glyphshow -50.343750 0.000000 m /o glyphshow -57.685547 0.000000 m /n glyphshow -65.291016 0.000000 m /space glyphshow -69.105469 0.000000 m /p glyphshow -76.722656 0.000000 m /l glyphshow -80.056641 0.000000 m /o glyphshow -87.398438 0.000000 m /t glyphshow -92.103516 0.000000 m /space glyphshow -95.917969 0.000000 m /f glyphshow -100.142578 0.000000 m /o glyphshow -107.484375 0.000000 m /r glyphshow -112.417969 0.000000 m /space glyphshow -116.232422 0.000000 m /M glyphshow -126.585938 0.000000 m /Q glyphshow -136.031250 0.000000 m /hyphen glyphshow -140.361328 0.000000 m /nine glyphshow -147.996094 0.000000 m /space glyphshow -151.810547 0.000000 m /d glyphshow -159.427734 0.000000 m /a glyphshow -166.781250 0.000000 m /t glyphshow -171.486328 0.000000 m /a glyphshow -grestore - -end -showpage diff --git a/Internal_design_documents/Experiments/MQ9.png b/Internal_design_documents/Experiments/MQ9.png deleted file mode 100644 index 4e0b2e1..0000000 Binary files a/Internal_design_documents/Experiments/MQ9.png and /dev/null differ diff --git a/Internal_design_documents/Experiments/MQ9.svg b/Internal_design_documents/Experiments/MQ9.svg deleted file mode 100644 index 2c9f0df..0000000 --- a/Internal_design_documents/Experiments/MQ9.svg +++ /dev/null @@ -1,1318 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Experiments/MQ9_Regression .ipynb b/Internal_design_documents/Experiments/MQ9_Regression .ipynb deleted file mode 100644 index 0eeca8b..0000000 --- a/Internal_design_documents/Experiments/MQ9_Regression .ipynb +++ /dev/null @@ -1,1632 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n", - "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n", - "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n", - "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n", - "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n", - "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n", - "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n", - "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n", - "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n", - "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n", - "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n" - ] - } - ], - "source": [ - "!pip install pandas\n", - "!pip install xlrd\n", - "!pip install sklearn\n", - "!pip install imblearn" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "import xlrd\n", - "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n", - "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n", - "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n", - "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n", - "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n", - "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n", - "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n", - "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n", - "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n", - "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n", - "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n", - "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n", - "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.1 \t \t \t \n", - "0.2 \t \t \t \n", - "0.3 \t \t \t \n", - "0.4 \t \t \t \n", - "0.5 \t \t \t \n", - "0.6 \t 3000.0 \t \t \n", - "0.7 \t \t \t 1000.0\n", - "0.8 \t \t 1000.0 \t \n", - "0.9 \t \t 800.0 \t 5000.0\n", - "1.0 \t 1000.0 \t \t \n", - "2.0 \t 200.0 \t 200.0 \t \n", - "3.0 \t \t \t 200.0\n", - "4.0 \t \t \t \n", - "5.0 \t \t \t \n", - "6.0 \t \t \t \n", - "7.0 \t \t \t \n", - "8.0 \t \t \t \n", - "9.0 \t \t \t \n", - "10.0 \t \t \t \n" - ] - } - ], - "source": [ - "for row_index in range(1,20): #reading first columns\n", - " RsR0, LPG, CO, CH4 = sheetMQ9.row_values(row_index, start_colx=0, end_colx=4)\n", - " print(RsR0, \"\t\", LPG, \"\t\", CO, \"\t\", CH4)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "x_MQ9 = sheetMQ9.col_values(0)[2:]\n", - "MQ9_LPG = sheetMQ9.col_values(1)[2:]\n", - "MQ9_CO = sheetMQ9.col_values(2)[2:]\n", - "MQ9_CH4 = sheetMQ9.col_values(3)[2:]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "def zero_to_nan(values):\n", - " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n", - " return [float('nan') if x==0 else x for x in values]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "MQ9_LPG =zero_to_nan(MQ9_LPG)\n", - "MQ9_CH4 =zero_to_nan(MQ9_CH4)\n", - "MQ9_CO =zero_to_nan(MQ9_CO)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "scrolled": false - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from sklearn.datasets import load_iris\n", - "#from sklearn.cross_validation import train_test_split\n", - "from sklearn.tree import DecisionTreeClassifier\n", - "from sklearn import datasets\n", - "from sklearn import linear_model\n", - "\n", - "dataLPG = {'RsRo': x_MQ9, 'LPG': MQ9_LPG}\n", - "dataCH4 = {'RsRo': x_MQ9, 'CH4': MQ9_CH4}\n", - "dataCO = {'RsRo': x_MQ9, 'CO': MQ9_CO}\n", - "\n", - "dfMQ9_LPG = pd.DataFrame(dataLPG)\n", - "dfMQ9_CH4 = pd.DataFrame(dataCH4)\n", - "dfMQ9_CO = pd.DataFrame(dataCO)\n", - "\n", - "dfMQ9_LPG['LPG'] = pd.to_numeric(dfMQ9_LPG['LPG'])\n", - "dfMQ9_CH4['CH4'] = pd.to_numeric(dfMQ9_CH4['CH4'])\n", - "dfMQ9_CO['CO'] = pd.to_numeric(dfMQ9_CO['CO'])\n", - "\n", - "dfMQ9_LPG['LPG'] = dfMQ9_LPG['LPG'].replace('',None, regex=True)\n", - "dfMQ9_CH4['CH4'] = dfMQ9_CH4['CH4'].replace('',None, regex=True)\n", - "dfMQ9_CO['CO'] = dfMQ9_CO['CO'].replace('',None, regex=True)\n", - "\n", - "#Global X_Predict variable\n", - "X_Predict = dfMQ9_LPG.RsRo.apply(lambda x: [x]).tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train LPG\n", - "dataset2TrainLPG = dfMQ9_LPG.copy()\n", - "dataset2TrainLPG.dropna(inplace=True)\n", - "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainLPG, y_trainLPG)\n", - "#Predict\n", - "LPG_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_LPG = LPG_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CH4\n", - "dataset2TrainCH4 = dfMQ9_CH4.copy()\n", - "dataset2TrainCH4.dropna(inplace=True)\n", - "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCH4, y_trainCH4)\n", - "#Predict\n", - "CH4_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_CH4 = CH4_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "#Model and train CO\n", - "dataset2TrainCO = dfMQ9_CO.copy()\n", - "dataset2TrainCO.dropna(inplace=True)\n", - "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n", - "y_trainCO = dataset2TrainCO['CO'].tolist()\n", - "model = linear_model.Lasso(alpha=0.1)\n", - "model.fit(X_trainCO, y_trainCO)\n", - "#Predict\n", - "CO_Predicted = model.predict(X_Predict)\n", - "#save into MQ2\n", - "MQ9_CO = CO_Predicted" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\r\n", - "\r\n", - "\r\n", - "\r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - " \r\n", - "\r\n" - ], - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import matplotlib.lines as mlines\n", - "import matplotlib.transforms as mtransforms\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "fig.set_size_inches(9, 5.5, forward=True)\n", - "fig.set_dpi(200)\n", - "\n", - "# only these two lines are calibration curves\n", - "plt.plot(MQ9_LPG, x_MQ9, marker='o', linewidth=1, label='LPG')\n", - "plt.plot(MQ9_CH4, x_MQ9, marker='o', linewidth=1, label='CH4')\n", - "plt.plot(MQ9_CO, x_MQ9, marker='o', linewidth=1, label='CO')\n", - "\n", - "\n", - "# reference line, legends, and axis labels\n", - "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n", - "#transform = ax.transAxes\n", - "#line.set_transform(transform)\n", - "#ax.add_line(line)\n", - "plt.yscale('log')\n", - "plt.xscale('log')\n", - "plt.legend()\n", - "\n", - "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n", - "\n", - "fig.suptitle('Calibration plot for MQ-9 data')\n", - "ax.set_xlabel('PPM Concentration')\n", - "ax.set_ylabel('Rs/Ro')\n", - "\n", - "\n", - "#Save image\n", - "plt.savefig('MQ9.svg', format = 'svg', dpi = 1200)\n", - "plt.savefig('MQ9.png')\n", - "plt.savefig('MQ9.eps', format = 'eps', dpi = 1200)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Internal_design_documents/Experiments/demo1.svg b/Internal_design_documents/Experiments/demo1.svg deleted file mode 100644 index 5981c70..0000000 --- a/Internal_design_documents/Experiments/demo1.svg +++ /dev/null @@ -1,1486 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Internal_design_documents/Resumen_Slope_And_BPoints.xlsx b/Internal_design_documents/Resumen_Slope_And_BPoints.xlsx deleted file mode 100644 index f1a06f6..0000000 Binary files a/Internal_design_documents/Resumen_Slope_And_BPoints.xlsx and /dev/null differ diff --git a/README.md b/README.md index de31301..6313513 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ You'll need Arduino desktop app 1.8.9 or later. ### Info of datasheets -Review WPDigitalizer [folder](https://github.com/miguel5612/MQSensorsLib/tree/master/WPDigitalizer) [website](https://automeris.io/WebPlotDigitizer/) +Review WPDigitalizer [folder](https://github.com/miguel5612/MQSensorsLib_Docs/tree/master/WPDigitalizer) [website](https://automeris.io/WebPlotDigitizer/) ### Installing @@ -82,12 +82,12 @@ Examples/MQ-board.ino ## Built With -* [Data sheets](https://github.com/miguel5612/MQSensorsLib/tree/master/Datasheets) - Curves and behavior for each sensor, using logarithmic graphs. -* [Main purpose](https://github.com/miguel5612/MQSensorsLib/blob/master/static/img/bg.jpg) - Every sensor has high sensibility for a specific gas or material. +* [Data sheets](https://github.com/miguel5612/MQSensorsLib_Docs/tree/master/Datasheets) - Curves and behavior for each sensor, using logarithmic graphs. +* [Main purpose](https://github.com/miguel5612/MQSensorsLib_Docs/blob/master/static/img/bg.jpg) - Every sensor has high sensibility for a specific gas or material. ## Contributing -Please read [CONTRIBUTING.md](https://github.com/miguel5612/MQSensorsLib/blob/NO_Functional/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. +Please read [CONTRIBUTING.md](https://github.com/miguel5612/MQSensorsLib/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. ## Authors diff --git a/WPDigitalizer/MQ131/CL2.csv b/WPDigitalizer/MQ131/CL2.csv deleted file mode 100644 index 610c88c..0000000 --- a/WPDigitalizer/MQ131/CL2.csv +++ /dev/null @@ -1,5 +0,0 @@ -4.957713628975931; 5.970352865838375 -9.82303087255475; 3.890451449942809 -19.66936860744601; 2.365919697485761 -49.50200098710442; 0.9908319448927686 -99.17887133636847; 0.49659232145033677 diff --git a/WPDigitalizer/MQ131/MQ131.png b/WPDigitalizer/MQ131/MQ131.png deleted file mode 100644 index 3410951..0000000 Binary files a/WPDigitalizer/MQ131/MQ131.png and /dev/null differ diff --git a/WPDigitalizer/MQ131/MQ131_Analisis.xlsx b/WPDigitalizer/MQ131/MQ131_Analisis.xlsx deleted file mode 100644 index 0df77f8..0000000 Binary files a/WPDigitalizer/MQ131/MQ131_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ131/NOx.csv b/WPDigitalizer/MQ131/NOx.csv deleted file mode 100644 index de37d56..0000000 --- a/WPDigitalizer/MQ131/NOx.csv +++ /dev/null @@ -1,5 +0,0 @@ -5.004690736196025; 8.090958991783829 -9.81247228520288; 5.571857489319305 -19.63847609606165; 3.9994474976109777 -49.85956704514034; 2.8313919957993816 -98.7613064604988; 2.032357010936224 diff --git a/WPDigitalizer/MQ131/O3.csv b/WPDigitalizer/MQ131/O3.csv deleted file mode 100644 index ffce073..0000000 --- a/WPDigitalizer/MQ131/O3.csv +++ /dev/null @@ -1,5 +0,0 @@ -5.015052099488824; 4.055085354483843 -9.839297042431014; 2.2387211385683425 -19.708460197689764; 1.2189895989248674 -50.120105449151986; 0.49659232145033727 -99.34721307419954; 0.2818382931264458 diff --git a/WPDigitalizer/MQ135/Acetona.csv b/WPDigitalizer/MQ135/Acetona.csv deleted file mode 100644 index 78522e8..0000000 --- a/WPDigitalizer/MQ135/Acetona.csv +++ /dev/null @@ -1,3 +0,0 @@ -10.038068731719024; 1.4367778871086752 -100.76282386271518; 0.7437057711666111 -199.67791490816478; 0.5858066785834567 diff --git a/WPDigitalizer/MQ135/Alcohol.csv b/WPDigitalizer/MQ135/Alcohol.csv deleted file mode 100644 index 667a770..0000000 --- a/WPDigitalizer/MQ135/Alcohol.csv +++ /dev/null @@ -1,3 +0,0 @@ -10; 1.8980643862295867 -100.76282386271518; 0.9276207214357883 -199.67791490816478; 0.7371610501169261 diff --git a/WPDigitalizer/MQ135/CO.csv b/WPDigitalizer/MQ135/CO.csv deleted file mode 100644 index 0f0a1fe..0000000 --- a/WPDigitalizer/MQ135/CO.csv +++ /dev/null @@ -1,3 +0,0 @@ -9.92429510870452; 2.850325339883499 -100.76282386271518; 1.5488850711364055 -199.67791490816478; 1.3446177759671738 diff --git a/WPDigitalizer/MQ135/CO2.csv b/WPDigitalizer/MQ135/CO2.csv deleted file mode 100644 index 2e767bc..0000000 --- a/WPDigitalizer/MQ135/CO2.csv +++ /dev/null @@ -1,3 +0,0 @@ -10; 2.3054935712377356 -100.76282386271518; 1.049816136090719 -198.16625542394166; 0.8052859018667691 diff --git a/WPDigitalizer/MQ135/MQ135.png b/WPDigitalizer/MQ135/MQ135.png deleted file mode 100644 index 12654c6..0000000 Binary files a/WPDigitalizer/MQ135/MQ135.png and /dev/null differ diff --git a/WPDigitalizer/MQ135/MQ135_Analisis.xlsx b/WPDigitalizer/MQ135/MQ135_Analisis.xlsx deleted file mode 100644 index 4b26767..0000000 Binary files a/WPDigitalizer/MQ135/MQ135_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ135/NH4.csv b/WPDigitalizer/MQ135/NH4.csv deleted file mode 100644 index 1f2aaba..0000000 --- a/WPDigitalizer/MQ135/NH4.csv +++ /dev/null @@ -1,3 +0,0 @@ -10; 2.563475521052897 -100.38068731719024; 1 -199.67791490816478; 0.7670732751979543 diff --git a/WPDigitalizer/MQ135/Tolueno.csv b/WPDigitalizer/MQ135/Tolueno.csv deleted file mode 100644 index 7a169db..0000000 --- a/WPDigitalizer/MQ135/Tolueno.csv +++ /dev/null @@ -1,3 +0,0 @@ -10; 1.5420548019516276 -100.38068731719024; 0.8017347542813508 -199.67791490816478; 0.6427786162225773 diff --git a/WPDigitalizer/MQ2/Alcohol.csv b/WPDigitalizer/MQ2/Alcohol.csv deleted file mode 100644 index 1f5653c..0000000 --- a/WPDigitalizer/MQ2/Alcohol.csv +++ /dev/null @@ -1,9 +0,0 @@ -202,97159045689085; 2,870821251841819 -493,62843297110385; 2,120486081991352 -789,3018264543583; 1,722949305824931 -1013,5564768245204; 1,628558370192401 -1483,4109724050659; 1,4241031945513674 -2002,568136043121; 1,2616407836292618 -3045,8553406742876; 1,09372808300933 -4983,9913111605565; 0,8886628824162796 -10116,086432495827; 0,6593474448589979 diff --git a/WPDigitalizer/MQ2/CH4.csv b/WPDigitalizer/MQ2/CH4.csv deleted file mode 100644 index 6460416..0000000 --- a/WPDigitalizer/MQ2/CH4.csv +++ /dev/null @@ -1,9 +0,0 @@ -200,6424043638923; 3,0628594206904824 -493,62843297110385; 2,262307524341795 -795,3985507023424; 1,9027463399615197 -1021,3853885815306; 1,760109364516406 -1466,3881949840988; 1,512822440016997 -2010,2873757128875; 1,3635579819828156 -3022,508881097584; 1,1618613226754184 -4945,78905312065; 0,9359079659557669 -10155,080609166793; 0,7034431020028873 diff --git a/WPDigitalizer/MQ2/CO.csv b/WPDigitalizer/MQ2/CO.csv deleted file mode 100644 index 4b41fba..0000000 --- a/WPDigitalizer/MQ2/CO.csv +++ /dev/null @@ -1,9 +0,0 @@ -202,97159045689085; 5,230578600305607 -491,73296457790207; 4,06886745979215 -810,8471866516105; 3,4816976949280916 -994,2457296427418; 3,220835982615804 -1483,4109724050659; 2,8043001628397395 -2025,8152351174235; 2,505895099093425 -3045,8553406742876; 2,2293985477843727 -4983,9913111605565; 1,84294785992263 -10272,967317129345; 1,4525325413623644 diff --git a/WPDigitalizer/MQ2/H2.csv b/WPDigitalizer/MQ2/H2.csv deleted file mode 100644 index 9d84a4e..0000000 --- a/WPDigitalizer/MQ2/H2.csv +++ /dev/null @@ -1,9 +0,0 @@ -199,87196386572526; 2,0769753765580705 -495,5312077697903; 1,3831422575910868 -792,3443246647935; 1,1093808898233806 -998,0782190045875; 1,004327136273875 -1477,714868970752; 0,8303118686874813 -2033,6240846866745; 0,7167722606428578 -2976,351441631319; 0,5951498799327694 -4907,879615117585; 0,46313409452053067 -10038,546701761785; 0,33483775607304667 diff --git a/WPDigitalizer/MQ2/LPG.csv b/WPDigitalizer/MQ2/LPG.csv deleted file mode 100644 index bd66c93..0000000 --- a/WPDigitalizer/MQ2/LPG.csv +++ /dev/null @@ -1,9 +0,0 @@ -197,57834731787014; 1,5893603059497052 -497,4413171377462; 1,081492898685633 -798,4645497739094; 0,8636972212632283 -1005,7875736205846; 0,7785412443059092 -1455,1483398731953; 0,6691551077105506 -1964,4142809066307; 0,5776630257056471 -2964,922642745657; 0,4673698778126437 -4907,879615117585; 0,3636968635962981 -9961,601312513694; 0,2562263980512121 diff --git a/WPDigitalizer/MQ2/MQ2.png b/WPDigitalizer/MQ2/MQ2.png deleted file mode 100644 index 25a171b..0000000 Binary files a/WPDigitalizer/MQ2/MQ2.png and /dev/null differ diff --git a/WPDigitalizer/MQ2/MQ2_Analisis.xlsx b/WPDigitalizer/MQ2/MQ2_Analisis.xlsx deleted file mode 100644 index 01714df..0000000 Binary files a/WPDigitalizer/MQ2/MQ2_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ2/Propane.csv b/WPDigitalizer/MQ2/Propane.csv deleted file mode 100644 index 841b136..0000000 --- a/WPDigitalizer/MQ2/Propane.csv +++ /dev/null @@ -1,8 +0,0 @@ -199,87196386572526; 1,7177387821105947 -505,1556673863905; 1,1146494552818709 -804,6320487186803; 0,9135362299047323 -1477,714868970752; 0,695649154812918 -1964,4142809066307; 0,6189637265894852 -2976,351441631319; 0,49862651200770775 -5003,202953826009; 0,3981937374085895 -10038,546701761785; 0,2769237448903758 diff --git a/WPDigitalizer/MQ3/Alcohol.csv b/WPDigitalizer/MQ3/Alcohol.csv deleted file mode 100644 index 1a87832..0000000 --- a/WPDigitalizer/MQ3/Alcohol.csv +++ /dev/null @@ -1,10 +0,0 @@ -0,10353670498698248; 2,3006052433419897 -0,21669508284625513; 1,5283067326587703 -0,4121870467079977; 0,9849655764983776 -1,0353670498698249; 0,5373573058775191 -1,62674977267572; 0,3969028437065575 -2,533807310942618; 0,2931603713568166 -4,086210681445435; 0,20691380811147922 -6,147226923260454; 0,16237767391887242 -8,047488733750896; 0,12937254012807994 -10,087268592871308; 0,11635618505359083 diff --git a/WPDigitalizer/MQ3/Benzine.csv b/WPDigitalizer/MQ3/Benzine.csv deleted file mode 100644 index bcc17eb..0000000 --- a/WPDigitalizer/MQ3/Benzine.csv +++ /dev/null @@ -1,10 +0,0 @@ -0,10264097167012301; 4,153565396068835 -0,21482037565589762; 3,2105463740271127 -0,40862106814454346; 2,597010372492914 -1,02640971670123; 1,7782794100389265 -1,640946189037232; 1,4826977604563574 -2,5118864315095824; 1,2551169959105486 -4,050859401456971; 1,030760801977862 -6,147226923260454; 0,941204967268068 -7,977867010935023; 0,8337822234717909 -9,913486399149756; 0,7729615566100769 diff --git a/WPDigitalizer/MQ3/CH4.csv b/WPDigitalizer/MQ3/CH4.csv deleted file mode 100644 index a92d6ed..0000000 --- a/WPDigitalizer/MQ3/CH4.csv +++ /dev/null @@ -1,10 +0,0 @@ -9,913486399149756; 39,09356382652744 -7,9088476107129795; 39,69028437065577 -6,147226923260454; 40,29611320200408 -4,086210681445435; 41,53565396068835 -2,5118864315095824; 42,16965034285831 -1,6552664955267127; 42,16965034285831 -1,0175298766472782; 44,13029616837808 -0,4121870467079977; 45,48777947003787 -0,21669508284625513; 49,066996389388365 -0,10175298766472783; 49,066996389388365 diff --git a/WPDigitalizer/MQ3/CO.csv b/WPDigitalizer/MQ3/CO.csv deleted file mode 100644 index 8e78ae5..0000000 --- a/WPDigitalizer/MQ3/CO.csv +++ /dev/null @@ -1,7 +0,0 @@ -0,10175298766472783; 50,57633654897071 -0,21482037565589762; 46,1821007306166 -0,4121870467079977; 42,16965034285831 -1,02640971670123; 34,63168991269758 -6,20087290762581; 20,38029782919976 -7,977867010935023; 18,05422902555477 -9,913486399149756; 15,99364192019675 diff --git a/WPDigitalizer/MQ3/Hexane.csv b/WPDigitalizer/MQ3/Hexane.csv deleted file mode 100644 index 2268966..0000000 --- a/WPDigitalizer/MQ3/Hexane.csv +++ /dev/null @@ -1,7 +0,0 @@ -0,10353670498698248; 52,1321052223192 -0,21482037565589762; 38,50581463177166 -0,4050859401456971; 31,14734638595688 -1,0175298766472782; 23,006052433419896 -6,147226923260454; 12,551169959105493 -7,977867010935023; 10,951501934480216 -10; 10,152639075520527 diff --git a/WPDigitalizer/MQ3/LPG.csv b/WPDigitalizer/MQ3/LPG.csv deleted file mode 100644 index 77b2895..0000000 --- a/WPDigitalizer/MQ3/LPG.csv +++ /dev/null @@ -1,7 +0,0 @@ -0,10444025524245701; 51,3483290743756 -0,21482037565589762; 42,813323987194025 -0,40862106814454346; 36,24186400012689 -1,0353670498698249; 29,76351441631324 -6,147226923260454; 15,753186734235184 -7,977867010935023; 13,74541620871335 -9,913486399149756; 13,134727062036905 diff --git a/WPDigitalizer/MQ3/MQ3_Analisis.xlsx b/WPDigitalizer/MQ3/MQ3_Analisis.xlsx deleted file mode 100644 index a1263de..0000000 Binary files a/WPDigitalizer/MQ3/MQ3_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ3/MQ3_HANWEI.png b/WPDigitalizer/MQ3/MQ3_HANWEI.png deleted file mode 100644 index bb67e76..0000000 Binary files a/WPDigitalizer/MQ3/MQ3_HANWEI.png and /dev/null differ diff --git a/WPDigitalizer/MQ303A/MQ303A.png b/WPDigitalizer/MQ303A/MQ303A.png deleted file mode 100644 index 7027b10..0000000 Binary files a/WPDigitalizer/MQ303A/MQ303A.png and /dev/null differ diff --git a/WPDigitalizer/MQ303A/MQ303_Analisis.xlsx b/WPDigitalizer/MQ303A/MQ303_Analisis.xlsx deleted file mode 100644 index 389b1df..0000000 Binary files a/WPDigitalizer/MQ303A/MQ303_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ303A/ethanol.csv b/WPDigitalizer/MQ303A/ethanol.csv deleted file mode 100644 index c093642..0000000 --- a/WPDigitalizer/MQ303A/ethanol.csv +++ /dev/null @@ -1,7 +0,0 @@ -9.760536373079; 0.6367243878484852 -28.910302212991695; 0.4177521754427481 -97.13336203720006; 0.25629843390996093 -290.5078650510864; 0.168158017508225 -976.0536373079011; 0.10120519080325145 -2891.0302212991683; 0.06328706659432291 -9713.336203720031; 0.03700727788462973 diff --git a/WPDigitalizer/MQ303A/hydrogen.csv b/WPDigitalizer/MQ303A/hydrogen.csv deleted file mode 100644 index 056126d..0000000 --- a/WPDigitalizer/MQ303A/hydrogen.csv +++ /dev/null @@ -1,7 +0,0 @@ -9.760536373079; 0.7353881994623019 -28.910302212991695; 0.4824850845722687 -99.03517507922587; 0.31357828056236803 -287.70497277226445; 0.21174709621606536 -957.310079418858; 0.1324287647386883 -2919.1953454784298; 0.08942846363527807 -9619.619515387938; 0.058119288604045784 diff --git a/WPDigitalizer/MQ303A/iso-butane.csv b/WPDigitalizer/MQ303A/iso-butane.csv deleted file mode 100644 index cbe4dbc..0000000 --- a/WPDigitalizer/MQ303A/iso-butane.csv +++ /dev/null @@ -1,5 +0,0 @@ -95.26807029019824; 0.39107646068827623 -284.9291234966511; 0.26663511749442803 -929.8674652605272; 0.17495585827318036 -2919.195345478436; 0.12044176890728615 -9526.8070290198; 0.08534073089952911 diff --git a/WPDigitalizer/MQ309A/CH4.csv b/WPDigitalizer/MQ309A/CH4.csv deleted file mode 100644 index 40963be..0000000 --- a/WPDigitalizer/MQ309A/CH4.csv +++ /dev/null @@ -1,4 +0,0 @@ -297.80016207132866; 2.025316893307991 -988.5488639786258; 1.0003922437937416 -2969.1739759583893; 0.5169186278027208 -6980.605162361656; 0.3103411567039483 diff --git a/WPDigitalizer/MQ309A/CO.csv b/WPDigitalizer/MQ309A/CO.csv deleted file mode 100644 index 1c9f2de..0000000 --- a/WPDigitalizer/MQ309A/CO.csv +++ /dev/null @@ -1,3 +0,0 @@ -997.4030681553679; 6.047100899623128 -2968.6271383071316; 4.749258614355932 -7053.591017881534; 3.7132284984226107 diff --git a/WPDigitalizer/MQ309A/H2.csv b/WPDigitalizer/MQ309A/H2.csv deleted file mode 100644 index a04bf45..0000000 --- a/WPDigitalizer/MQ309A/H2.csv +++ /dev/null @@ -1,4 +0,0 @@ -299.38537711451056; 2.3285955073099673 -984.0606504885633; 1.2333424638659303 -2941.7319864433844; 0.7218593003713822 -6986.58266643243; 0.4600809389255104 diff --git a/WPDigitalizer/MQ309A/MQ309A.png b/WPDigitalizer/MQ309A/MQ309A.png deleted file mode 100644 index aabf37a..0000000 Binary files a/WPDigitalizer/MQ309A/MQ309A.png and /dev/null differ diff --git a/WPDigitalizer/MQ309A/MQ309_Analisis.xlsx b/WPDigitalizer/MQ309A/MQ309_Analisis.xlsx deleted file mode 100644 index 41458f3..0000000 Binary files a/WPDigitalizer/MQ309A/MQ309_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ309A/alcohol.csv b/WPDigitalizer/MQ309A/alcohol.csv deleted file mode 100644 index 7f7f082..0000000 --- a/WPDigitalizer/MQ309A/alcohol.csv +++ /dev/null @@ -1,3 +0,0 @@ -992.1649186186961; 5.365424808947786 -2967.6945300369325; 4.110129936207673 -7050.993114231691; 3.1344326867968353 diff --git a/WPDigitalizer/MQ4/CH4.csv b/WPDigitalizer/MQ4/CH4.csv deleted file mode 100644 index 5994b39..0000000 --- a/WPDigitalizer/MQ4/CH4.csv +++ /dev/null @@ -1,4 +0,0 @@ -196.41411331843435; 1.785659140299506 -1000; 1.0167033267314904 -4906.401135721315; 0.5725240898096816 -10000; 0.434399871637449 diff --git a/WPDigitalizer/MQ4/CO.csv b/WPDigitalizer/MQ4/CO.csv deleted file mode 100644 index 24c9097..0000000 --- a/WPDigitalizer/MQ4/CO.csv +++ /dev/null @@ -1,4 +0,0 @@ -201.93931722345428; 4.3200781844473 -1004.6343704770624; 3.804834154219557 -4997.987673826894; 3.62037033446632 -10092.902183438433; 3.5412833006774624 diff --git a/WPDigitalizer/MQ4/H2.csv b/WPDigitalizer/MQ4/H2.csv deleted file mode 100644 index 7bd5863..0000000 --- a/WPDigitalizer/MQ4/H2.csv +++ /dev/null @@ -1,4 +0,0 @@ -200.08052545562066; 3.742324879029739 -1009.2902183438433; 2.839470820549322 -4997.987673826894; 2.107371038144029 -10092.902183438433; 1.8663075519737489 diff --git a/WPDigitalizer/MQ4/LPG.csv b/WPDigitalizer/MQ4/LPG.csv deleted file mode 100644 index 0d7166d..0000000 --- a/WPDigitalizer/MQ4/LPG.csv +++ /dev/null @@ -1,4 +0,0 @@ -198.238843316975; 2.5993700190923614 -1000; 1.5298620732204247 -4997.987673826894; 0.9004019996720343 -10000; 0.7462797865710782 diff --git a/WPDigitalizer/MQ4/MQ4.png b/WPDigitalizer/MQ4/MQ4.png deleted file mode 100644 index d211cfb..0000000 Binary files a/WPDigitalizer/MQ4/MQ4.png and /dev/null differ diff --git a/WPDigitalizer/MQ4/MQ4_Analisis.xlsx b/WPDigitalizer/MQ4/MQ4_Analisis.xlsx deleted file mode 100644 index 0e1d11b..0000000 Binary files a/WPDigitalizer/MQ4/MQ4_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ4/alcohol.csv b/WPDigitalizer/MQ4/alcohol.csv deleted file mode 100644 index f85134e..0000000 --- a/WPDigitalizer/MQ4/alcohol.csv +++ /dev/null @@ -1,4 +0,0 @@ -200.08052545562066; 4.043101351842418 -1000; 3.62037033446632 -4997.987673826894; 3.2062339160297557 -10000; 3.0676835080273737 diff --git a/WPDigitalizer/MQ4/smoke.csv b/WPDigitalizer/MQ4/smoke.csv deleted file mode 100644 index 1a50052..0000000 --- a/WPDigitalizer/MQ4/smoke.csv +++ /dev/null @@ -1,4 +0,0 @@ -201.93931722345428; 3.998696708813267 -1000; 3.5806084689216804 -4906.401135721315; 2.8710025163391744 -9907.95295371942; 2.542586749554272 diff --git a/WPDigitalizer/MQ5/CH4.csv b/WPDigitalizer/MQ5/CH4.csv deleted file mode 100644 index afadf10..0000000 --- a/WPDigitalizer/MQ5/CH4.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.50510541210926; 0.9394382028230388 -496.95211667480095; 0.6692392369209975 -799.7415832109868; 0.5499333750837017 -1504.4171746488084; 0.44390171376737736 -2023.4684598794727; 0.3952748884733104 -2988.5680240937645; 0.3336228699096515 -5040.078049208363; 0.27414763022357547 -10011.805783294312; 0.2005975301100415 -1002.7568511322031; 0.5074886767657293 diff --git a/WPDigitalizer/MQ5/CO.csv b/WPDigitalizer/MQ5/CO.csv deleted file mode 100644 index 90efc6e..0000000 --- a/WPDigitalizer/MQ5/CO.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.9855214358912; 3.8828202580089815 -498.26937671429977; 3.1906265077256903 -795.8195622202916; 3.024267170309512 -1005.7038415947678; 2.8665818124639726 -1520.82264483807; 2.6690492596465254 -2014.1239376718024; 2.575447570454306 -3045.8449481244156; 2.44116367657533 -5019.155676126041; 2.355553775260732 -10052.9317520536; 2.2527509333384566 diff --git a/WPDigitalizer/MQ5/H2.csv b/WPDigitalizer/MQ5/H2.csv deleted file mode 100644 index cffc65b..0000000 --- a/WPDigitalizer/MQ5/H2.csv +++ /dev/null @@ -1,9 +0,0 @@ -201.27838342411644; 1.7390420266081872 -493.5883113591315; 1.2169460288151033 -800.6009631942848; 1.0363438534979406 -996.0747838965058; 0.9823088618165925 -1506.102124833289; 0.8592282097568055 -1979.120381371035; 0.8290956779033114 -3016.2263786115363; 0.7651048064273167 -4970.272947779147; 0.7317135294820835 -10110.577956905698; 0.6573996331028706 diff --git a/WPDigitalizer/MQ5/LPG.csv b/WPDigitalizer/MQ5/LPG.csv deleted file mode 100644 index aa6d3e9..0000000 --- a/WPDigitalizer/MQ5/LPG.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.40554113757054; 0.6997795396518534 -492.7900571856172; 0.4683199251295333 -793.0556060550289; 0.38828202580089843 -1010.0183410938197; 0.35831382566228703 -1491.6820305076094; 0.294436907782315 -1990.8004169615886; 0.2669049259646528 -3010.1187499399794; 0.23138813479241493 -4997.71532819448; 0.1884489831773179 -9928.405728688784; 0.1441832227953065 diff --git a/WPDigitalizer/MQ5/MQ5.png b/WPDigitalizer/MQ5/MQ5.png deleted file mode 100644 index 18f60ad..0000000 Binary files a/WPDigitalizer/MQ5/MQ5.png and /dev/null differ diff --git a/WPDigitalizer/MQ5/MQ5_Analisis.xlsx b/WPDigitalizer/MQ5/MQ5_Analisis.xlsx deleted file mode 100644 index 902aee7..0000000 Binary files a/WPDigitalizer/MQ5/MQ5_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ5/alcohol.csv b/WPDigitalizer/MQ5/alcohol.csv deleted file mode 100644 index 2c9c19f..0000000 --- a/WPDigitalizer/MQ5/alcohol.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.95224789043016; 3.5197484625947 -494.320557102411; 2.91820823764409 -789.4648671924948; 2.6690492596465254 -1005.4908825301579; 2.529884971601279 -1514.5552252760385; 2.334624583227059 -1997.9502969343455; 2.212897205283967 -3021.2036633504285; 2.0239582533031633 -5016.954385512384; 1.8184020925222013 -10045.48320022528; 1.4547578108480472 diff --git a/WPDigitalizer/MQ6/Alcohol.csv b/WPDigitalizer/MQ6/Alcohol.csv deleted file mode 100644 index 6a15dab..0000000 --- a/WPDigitalizer/MQ6/Alcohol.csv +++ /dev/null @@ -1,9 +0,0 @@ -200.61709699314238; 7.974609058476425 -492.22943130813104; 6.94832848780189 -793.9951518737147; 6.359438963553435 -995.8146390713046; 6.113990876540328 -1540.3302460780208; 5.763466334193115 -1981.0866018373115; 5.486763480177575 -2988.201201712299; 5.12155344885937 -4942.982478819383; 4.641588833612772 -9916.467953887115; 4.248201698162607 diff --git a/WPDigitalizer/MQ6/CH4.csv b/WPDigitalizer/MQ6/CH4.csv deleted file mode 100644 index 6a1d90f..0000000 --- a/WPDigitalizer/MQ6/CH4.csv +++ /dev/null @@ -1,9 +0,0 @@ -200.61709699314238; 2.5217928074196405 -500.55701475595885; 1.769551668079795 -793.9951518737147; 1.4823138652959922 -1004.2029517989399; 1.3566837790884247 -1553.3053232670727; 1.125335582600764 -1997.7744203375898; 1.029960365809989 -3013.37251893298; 0.8886238162743398 -4984.620029838153; 0.708642753483925 -9916.467953887115; 0.5379838403443684 diff --git a/WPDigitalizer/MQ6/CO.csv b/WPDigitalizer/MQ6/CO.csv deleted file mode 100644 index 0e1444b..0000000 --- a/WPDigitalizer/MQ6/CO.csv +++ /dev/null @@ -1,9 +0,0 @@ -200.61709699314238; 8.886238162743389 -500.55701475595885; 8.29475224769689 -793.9951518737147; 7.974609058476425 -1004.2029517989399; 7.742636826811258 -1566.389696906344; 7.591749689098755 -1981.0866018373115; 7.517412401323064 -3013.37251893298; 7.298739496069015 -4942.982478819383; 6.94832848780189 -10000; 6.42232542222935 diff --git a/WPDigitalizer/MQ6/H2.csv b/WPDigitalizer/MQ6/H2.csv deleted file mode 100644 index bbe2cc6..0000000 --- a/WPDigitalizer/MQ6/H2.csv +++ /dev/null @@ -1,9 +0,0 @@ -202.30700883221544; 5.70703132605716 -496.37575959208704; 4.206603936763945 -800.6834243461444; 3.665241237079623 -1004.2029517989399; 3.387774774440251 -1553.3053232670727; 2.951790088127165 -1997.7744203375898; 2.755312992946309 -2988.201201712299; 2.424462017082326 -4942.982478819383; 2.263084940708007 -9916.467953887115; 2.030917620904734 diff --git a/WPDigitalizer/MQ6/LPG.csv b/WPDigitalizer/MQ6/LPG.csv deleted file mode 100644 index 9e82c1a..0000000 --- a/WPDigitalizer/MQ6/LPG.csv +++ /dev/null @@ -1,9 +0,0 @@ -200.61709699314238; 1.9913394573407317 -500.55701475595885; 1.3566837790884247 -793.9951518737147; 1.0926008611173774 -995.8146390713046; 1.009888680280811 -1566.389696906344; 0.8294752247696895 -1981.0866018373115; 0.7443803013251684 -2988.201201712299; 0.6359438963553441 -4942.982478819383; 0.5172198853456232 -10000; 0.3926603903768335 diff --git a/WPDigitalizer/MQ6/MQ6.png b/WPDigitalizer/MQ6/MQ6.png deleted file mode 100644 index 567bf01..0000000 Binary files a/WPDigitalizer/MQ6/MQ6.png and /dev/null differ diff --git a/WPDigitalizer/MQ6/MQ6_Analisis.xlsx b/WPDigitalizer/MQ6/MQ6_Analisis.xlsx deleted file mode 100644 index 23189ae..0000000 Binary files a/WPDigitalizer/MQ6/MQ6_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ7/Alcohol.csv b/WPDigitalizer/MQ7/Alcohol.csv deleted file mode 100644 index cccc017..0000000 --- a/WPDigitalizer/MQ7/Alcohol.csv +++ /dev/null @@ -1,5 +0,0 @@ -49.628693072621026; 16.21349131306841 -97.88667171926593; 14.747699500722867 -395.73330070046325; 13.162596366729884 -1008.580518414832; 12.915496650148834 -4077.4590714368906; 11.97262280637705 diff --git a/WPDigitalizer/MQ7/CH4.csv b/WPDigitalizer/MQ7/CH4.csv deleted file mode 100644 index e3edfec..0000000 --- a/WPDigitalizer/MQ7/CH4.csv +++ /dev/null @@ -1,5 +0,0 @@ -49.628693072621026; 13.932624155766176 -99.14924805127936; 12.673035704539204 -400.8376064295103; 11.747862309301768 -1008.580518414832; 11.098581862287732 -4025.5363043001485; 9.010160148459464 diff --git a/WPDigitalizer/MQ7/CO.csv b/WPDigitalizer/MQ7/CO.csv deleted file mode 100644 index f6bc9bf..0000000 --- a/WPDigitalizer/MQ7/CO.csv +++ /dev/null @@ -1,5 +0,0 @@ -50.9172059513443; 1.6060583396852564 -97.88667171926593; 1 -395.73330070046325; 0.38040561047825117 -1008.580518414832; 0.21544346900318867 -4025.5363043001485; 0.09010160148459469 diff --git a/WPDigitalizer/MQ7/H2.csv b/WPDigitalizer/MQ7/H2.csv deleted file mode 100644 index 6808708..0000000 --- a/WPDigitalizer/MQ7/H2.csv +++ /dev/null @@ -1,5 +0,0 @@ -49.628693072621026; 1.2553517493174822 -99.14924805127936; 0.7816352110618203 -395.73330070046325; 0.28090513016247853 -995.7371543297933; 0.14199183590016082 -4025.5363043001485; 0.05200551275510892 diff --git a/WPDigitalizer/MQ7/LPG.csv b/WPDigitalizer/MQ7/LPG.csv deleted file mode 100644 index 7352fa1..0000000 --- a/WPDigitalizer/MQ7/LPG.csv +++ /dev/null @@ -1,5 +0,0 @@ -49.628693072621026; 8.675042376416162 -100.42810953188514; 7.742636826811269 -395.73330070046325; 6.405962059414787 -1008.580518414832; 5.7174403997402825 -4025.5363043001485; 4.913127387829672 diff --git a/WPDigitalizer/MQ7/MQ7.png b/WPDigitalizer/MQ7/MQ7.png deleted file mode 100644 index 3f37221..0000000 Binary files a/WPDigitalizer/MQ7/MQ7.png and /dev/null differ diff --git a/WPDigitalizer/MQ7/MQ7_Analisis.xlsx b/WPDigitalizer/MQ7/MQ7_Analisis.xlsx deleted file mode 100644 index 01f8666..0000000 Binary files a/WPDigitalizer/MQ7/MQ7_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ8/CH4.csv b/WPDigitalizer/MQ8/CH4.csv deleted file mode 100644 index 14a774b..0000000 --- a/WPDigitalizer/MQ8/CH4.csv +++ /dev/null @@ -1,9 +0,0 @@ -197.3675219171091; 53.973604887574176 -498.48146621339083; 45.12608382420112 -795.650655600664; 44.237271963968524 -983.2970203866512; 43.36596630981325 -1488.6279781063974; 40.8536723514471 -1974.2394063376971; 40.04901071359078 -2962.578403579938; 37.72887591167065 -4986.144593317828; 34.15681140620415 -9836.718135530395; 29.13150024559977 diff --git a/WPDigitalizer/MQ8/CO.csv b/WPDigitalizer/MQ8/CO.csv deleted file mode 100644 index 4dad511..0000000 --- a/WPDigitalizer/MQ8/CO.csv +++ /dev/null @@ -1,9 +0,0 @@ -197.3261584388979; 67.17595092308035 -498.32951751341614; 62.037828443483846 -795.4081228467958; 60.815919670756 -991.764510099561; 56.164260264617475 -1488.2025662751867; 55.058038398814624 -1973.712826632303; 52.9105305833542 -2961.7882088051997; 49.84529723034052 -4940.937073252349; 46.032753623854894 -9833.719675940582; 40.04901071359078 diff --git a/WPDigitalizer/MQ8/H2.csv b/WPDigitalizer/MQ8/H2.csv deleted file mode 100644 index bc707d6..0000000 --- a/WPDigitalizer/MQ8/H2.csv +++ /dev/null @@ -1,9 +0,0 @@ -197.71381069747443; 8.656952025866781 -499.8320428170576; 2.676984079307525 -805.366809041948; 1.3885086707523655 -1004.4112564504042; 1.0099960014571165 -1494.738927891725; 0.5672567829206054 -2000.6339333375806; 0.38106013810259154 -3003.731420179191; 0.20980423715910143 -4970.208810248287; 0.09657866758385764 -9989.906290868468; 0.028700097315512492 diff --git a/WPDigitalizer/MQ8/LPG.csv b/WPDigitalizer/MQ8/LPG.csv deleted file mode 100644 index f20e432..0000000 --- a/WPDigitalizer/MQ8/LPG.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.19992029504726; 34.84308742951522 -498.77599867815434; 24.356174184509882 -803.2671839366373; 21.190144061945304 -1010.4194762418981; 19.962548428000286 -1489.8765544753824; 17.025564169829355 -1993.4420629232532; 16.361491616926376 -3018.016586613433; 14.812431326920972 -5079.255829538559; 13.95431181759239 -9931.639063039429; 12.886980990830155 diff --git a/WPDigitalizer/MQ8/MQ8.png b/WPDigitalizer/MQ8/MQ8.png deleted file mode 100644 index 0be880b..0000000 Binary files a/WPDigitalizer/MQ8/MQ8.png and /dev/null differ diff --git a/WPDigitalizer/MQ8/MQ8_Analisis.xlsx b/WPDigitalizer/MQ8/MQ8_Analisis.xlsx deleted file mode 100644 index 00e5d55..0000000 Binary files a/WPDigitalizer/MQ8/MQ8_Analisis.xlsx and /dev/null differ diff --git a/WPDigitalizer/MQ8/alcohol.csv b/WPDigitalizer/MQ8/alcohol.csv deleted file mode 100644 index 931dd2e..0000000 --- a/WPDigitalizer/MQ8/alcohol.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.2682532709533; 24.356174184509882 -499.00414332610546; 15.11004155598238 -803.7571168359392; 11.211817654552407 -984.6281828568244; 10.56229029121401 -1490.9557131626193; 7.994803158635606 -1995.0380188336974; 7.0953189423792224 -2968.059118165054; 5.478490427237765 -4952.53065553922; 3.9850333974025767 -9947.73757696152; 2.3758003129622796 diff --git a/WPDigitalizer/MQ9/CH4.csv b/WPDigitalizer/MQ9/CH4.csv deleted file mode 100644 index ab64cde..0000000 --- a/WPDigitalizer/MQ9/CH4.csv +++ /dev/null @@ -1,9 +0,0 @@ -198.18095665651532; 3.0950110313917216 -494.9047587272332; 2.232487748360993 -801.1326060396068; 1.896157737361306 -1003.0352892016884; 1.7729578536323674 -1498.4971204129793; 1.5056036785633509 -1984.698008371376; 1.341527316523078 -2988.797592508444; 1.172764624342811 -4996.436678734592; 0.9400305030282127 -9886.576272933122; 0.7044429033651796 diff --git a/WPDigitalizer/MQ9/CO.csv b/WPDigitalizer/MQ9/CO.csv deleted file mode 100644 index 72b90a2..0000000 --- a/WPDigitalizer/MQ9/CO.csv +++ /dev/null @@ -1,4 +0,0 @@ -198.40130839598982; 1.6354726170863763 -491.5621461294025; 1.091904853128837 -789.4164119046734; 0.8922238673494899 -988.4495716345693; 0.7948981819701892 diff --git a/WPDigitalizer/MQ9/LPG.csv b/WPDigitalizer/MQ9/LPG.csv deleted file mode 100644 index 2eaf704..0000000 --- a/WPDigitalizer/MQ9/LPG.csv +++ /dev/null @@ -1,9 +0,0 @@ -199.9186657411309; 2.0624562443673726 -495.3215741243735; 1.376975657716971 -801.8613331283198; 1.125181584172617 -995.992385093345; 1.0121624621384555 -1500.0369692554982; 0.8349837529476686 -1986.8043782713942; 0.7297470791550732 -2992.3222733611447; 0.5962150126919882 -4962.523371765791; 0.46874016780974886 -9978.97565986749; 0.3379571368636107 diff --git a/WPDigitalizer/MQ9/MQ9.png b/WPDigitalizer/MQ9/MQ9.png deleted file mode 100644 index 57a4ddb..0000000 Binary files a/WPDigitalizer/MQ9/MQ9.png and /dev/null differ diff --git a/WPDigitalizer/MQ9/MQ9_Analisis.xlsx b/WPDigitalizer/MQ9/MQ9_Analisis.xlsx deleted file mode 100644 index 3db2cb5..0000000 Binary files a/WPDigitalizer/MQ9/MQ9_Analisis.xlsx and /dev/null differ diff --git a/static/img/bg.jpg b/static/img/bg.jpg deleted file mode 100644 index 56076e3..0000000 Binary files a/static/img/bg.jpg and /dev/null differ