From 70b6bd655a0a3f94fbd49adf6b37f006f1b748f9 Mon Sep 17 00:00:00 2001 From: miguel5612 Date: Wed, 3 Jul 2019 21:09:26 -0500 Subject: [PATCH] Added MQ-9 regression --- .../MQ9_Regression -checkpoint.ipynb | 2615 +++++++++++++++++ Experiments/MQ9.eps | 2114 +++++++++++++ Experiments/MQ9.png | Bin 0 -> 103164 bytes Experiments/MQ9.svg | 1318 +++++++++ Experiments/MQ9_Regression .ipynb | 2553 ++++++++++++++++ 5 files changed, 8600 insertions(+) create mode 100644 Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb create mode 100644 Experiments/MQ9.eps create mode 100644 Experiments/MQ9.png create mode 100644 Experiments/MQ9.svg create mode 100644 Experiments/MQ9_Regression .ipynb diff --git a/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb b/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb new file mode 100644 index 0000000..67cbacd --- /dev/null +++ b/Experiments/.ipynb_checkpoints/MQ9_Regression -checkpoint.ipynb @@ -0,0 +1,2615 @@ +{ + "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": 3, + "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": 4, + "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": 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": [ + { + "ename": "NameError", + "evalue": "name 'MQ9_H2' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mMQ9_H2\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mzero_to_nan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMQ9_H2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mMQ9_LPG\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mzero_to_nan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMQ9_LPG\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mMQ9_CH4\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mzero_to_nan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMQ9_CH4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mMQ9_CO\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mzero_to_nan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMQ9_CO\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mMQ9_Alcohol\u001b[0m \u001b[1;33m=\u001b[0m\u001b[0mzero_to_nan\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMQ9_Alcohol\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'MQ9_H2' is not defined" + ] + } + ], + "source": [ + "MQ9_H2 =zero_to_nan(MQ9_H2)\n", + "MQ9_LPG =zero_to_nan(MQ9_LPG)\n", + "MQ9_CH4 =zero_to_nan(MQ9_CH4)\n", + "MQ9_CO =zero_to_nan(MQ9_CO)\n", + "MQ9_Alcohol =zero_to_nan(MQ9_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_MQ9, 'H2': MQ8_H2}\n", + "dataLPG = {'RsRo': x_MQ9, 'LPG': MQ8_LPG}\n", + "dataCH4 = {'RsRo': x_MQ9, '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/Experiments/MQ9.eps b/Experiments/MQ9.eps new file mode 100644 index 0000000..cb0e350 --- /dev/null +++ b/Experiments/MQ9.eps @@ -0,0 +1,2114 @@ +%!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/Experiments/MQ9.png b/Experiments/MQ9.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0b2e1ae002634199bffa79d8bbe220bcec6b9a GIT binary patch literal 103164 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� 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

;lv*n2q!fF$K4i2!_2 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 KreD!}_J07ab)+T$ literal 0 HcmV?d00001 diff --git a/Experiments/MQ9.svg b/Experiments/MQ9.svg new file mode 100644 index 0000000..2c9f0df --- /dev/null +++ b/Experiments/MQ9.svg @@ -0,0 +1,1318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Experiments/MQ9_Regression .ipynb b/Experiments/MQ9_Regression .ipynb new file mode 100644 index 0000000..f9ff9c7 --- /dev/null +++ b/Experiments/MQ9_Regression .ipynb @@ -0,0 +1,2553 @@ +{ + "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": 3, + "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": 4, + "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": 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": 7, + "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": 8, + "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": 11, + "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": 12, + "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": 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": 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(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 +}