From efe219fa6035c86da7961421ad5504063cee8876 Mon Sep 17 00:00:00 2001
From: Berk Silemek <berk.silemek@gmail.com>
Date: Mon, 14 Nov 2022 14:36:19 +0000
Subject: [PATCH] The script for plotting the received temperature values

---
 Software/Keithley/Plot_Keithley_v3.py | 62 +++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 Software/Keithley/Plot_Keithley_v3.py

diff --git a/Software/Keithley/Plot_Keithley_v3.py b/Software/Keithley/Plot_Keithley_v3.py
new file mode 100644
index 0000000..f002c4d
--- /dev/null
+++ b/Software/Keithley/Plot_Keithley_v3.py
@@ -0,0 +1,62 @@
+import time
+import matplotlib
+matplotlib.use('TkAgg')
+import matplotlib.pyplot as plt
+from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
+from matplotlib.figure import Figure
+import Tkinter as tk
+import ttk
+import sys
+import math
+from datetime import datetime
+import numpy as np
+import re
+
+
+hl, = plt.plot([], [])
+plt.rcParams.update({'font.size': 32})
+plt.rcParams.update({'font.weight' : 'bold'})
+plt.rcParams['lines.linewidth'] = 2
+plt.xlabel("Time (s)")
+plt.ylabel("Temperature "+ "("+ r'$\Delta$'+r'$\degree$'+"C"+")")
+plt.grid(True)
+
+file_object  = open("log.txt", "a")
+
+rate = float(3)
+counter = 1 
+plotData = float(0.0)
+now = datetime.today()
+frmt = "%H:%M:%S.%f"
+def update_line(hl, new_data, x_data):
+		hl.set_xdata(x_data)
+		hl.set_ydata(new_data)
+		hl.axes.relim()
+		hl.axes.autoscale_view()
+		ax = plt.gca()
+		ax.spines['right'].set_visible(False)
+		ax.spines['top'].set_visible(False)
+		ax.yaxis.set_ticks_position('left')
+		ax.xaxis.set_ticks_position('bottom')
+		plt.pause(0.0001)
+		
+
+start = 0.0
+
+
+while 1: 
+	file_object  = open("log.txt", "r")
+	data = file_object.readlines()
+	file_object.close()
+	temperature  = np.array(np.zeros(len(data)-5))
+	timeX        = np.array(np.zeros(len(data)-5))
+	timezero     = datetime.strptime(((re.split("(\s+)",data[0]))[2]),frmt)
+	for i in range(len(data)-5):
+		raw = re.split("(\s+)",data[i])
+		timeX[i] = (datetime.strptime(raw[2],frmt)  - timezero).total_seconds()
+		temperature[i] = raw[4]		
+        update_line(hl, temperature,timeX)
+	time.sleep(rate)
+
+
+
-- 
GitLab