# -*- coding: utf-8 -*- """ Created on Tue Mar 10 14:51:01 2020 @author: Johan Rene van Dorp """ import pandas as pd import numpy as np import matplotlib.pyplot as plt width = 0.5 time = np.arange(11)*width+17 temperature =np.array([43,43,41,41,41,42,43,58,58,41,41]) # Calculating the sample mean and the sample median wick_data = pd.DataFrame({'Time':time, 'Temp':temperature}) wick_data = wick_data.sort_values(by=['Temp']) mean_wick = wick_data.mean() median_wick = wick_data.median() # Calculating the sample standard deviation and the sample Median of Absolute Deviation (MAD) sd_wick = wick_data.std() abs_dev_wick = wick_data - median_wick mad_wick = abs_dev_wick.median() min_wick = wick_data.min() max_wick = wick_data.max() # Parameters for the plots LB_x = min_wick['Time'] UB_x = max_wick['Time'] LB_y = min_wick['Temp'] UB_y = max_wick['Temp'] # Creating a figure with three panels horizontally and setting some figure parameters plt.rc('font', family='serif', size='10') plt.figure(figsize=(15, 5)) Wick_Figure = plt.figure() Wick_Figure.set_figwidth(9) Wick_Figure.set_figheight(4.5) Wick_Figure.subplots_adjust(hspace=0.4, wspace=0.4) plt.rcParams['xtick.labelsize'] = 8 plt.rcParams['ytick.labelsize'] = 8 off_set_x = 0.5 off_set_y = 2.5 x_lims = (LB_x-off_set_x,UB_x+off_set_x) y_lims = (LB_y-off_set_y,UB_y+off_set_y) # Plotting the Left Figure Panel Panel = Wick_Figure.add_subplot(1,3,1) plt.xlim(x_lims) plt.ylim(y_lims) plt.xlabel('Time') plt.ylabel('Temperature') plt.scatter(wick_data['Time'],wick_data['Temp'],color = "navy", s = 2) plt.axhline(mean_wick['Temp'], lw=1, ls = ':',color = 'red',alpha=0.5) plt.axhline(median_wick['Temp'], lw=1, ls = ':',color = 'green',alpha=0.5) mu = mean_wick['Temp'] text_str ='$ \overline{x} = $' + f'{mu:3.2f}' plt.text(20,mu+0.25,text_str,color = 'red', size = 8) med = median_wick['Temp'] text_str ='$ \hat{x}_{0.5} = $' + f'{med:3.2f}' plt.text(20,med-0.75,text_str,color = 'green', size = 8) # Plotting the Middle Figure Panel mean_wick = wick_data[0:9].mean() median_wick = wick_data[0:9].median() Panel = Wick_Figure.add_subplot(1,3,2) plt.xlim(x_lims) plt.ylim(y_lims) plt.xlabel('Time') plt.ylabel('Temperature') plt.scatter(wick_data['Time'][0:9],wick_data['Temp'][0:9],color = "navy", s = 2) plt.axhline(mean_wick['Temp'], lw=1, ls = ':',color = 'red',alpha=0.5) plt.axhline(median_wick['Temp'], lw=1, ls = ':',color = 'green',alpha=0.5) mu = mean_wick['Temp'] text_str ='$ \overline{x} = $' + f'{mu:3.2f}' plt.text(20,mu+0.25,text_str,color = 'red', size = 8) med = median_wick['Temp'] text_str ='$ \hat{x}_{0.5} = $' + f'{med:3.2f}' plt.text(20,med-0.75,text_str,color = 'green', size = 8) # Plotting the Right Figure Panel temperature =np.array([43,43,41,41,41,42,43,42,42,39,39]) wick_data = pd.DataFrame({'Time':time, 'Temp':temperature}) wick_data = wick_data.sort_values(by=['Temp']) mean_wick = wick_data.mean() median_wick = wick_data.median() Panel = Wick_Figure.add_subplot(1,3,3) plt.xlim(x_lims) plt.ylim(y_lims) plt.xlabel('Time') plt.ylabel('Temperature') plt.scatter(wick_data['Time'],wick_data['Temp'],color = "navy", s = 2) plt.axhline(mean_wick['Temp'], lw=1, ls = ':',color = 'red',alpha=0.5) plt.axhline(median_wick['Temp'], lw=1, ls = ':',color = 'green',alpha=0.5) mu = mean_wick['Temp'] text_str ='$ \overline{x} = $' + f'{mu:3.2f}' plt.text(20,mu-0.75,text_str,color = 'red', size = 8) med = median_wick['Temp'] text_str ='$ \hat{x}_{0.5} = $' + f'{med:3.2f}' plt.text(20,med+0.25,text_str,color = 'green', size = 8) Wick_Figure.suptitle('Wick Temperature Data',size='14') plt.savefig('Wick_Temp.png', dpi=300)