saving measurments to table available now

This commit is contained in:
Вадим Силаев 2022-12-04 17:41:49 +03:00
parent ad51e65228
commit 7650cd707c
2 changed files with 39 additions and 5 deletions

View File

@ -2,8 +2,6 @@ from scipy.optimize import curve_fit
from numpy import tanh
# Обсчет значений на данный момент недоступен, но может быть вызван в другом файле
# с использованием функции fit()
def probe(x, I_0, k_0, A):
return I_0 * tanh(k_0 / I_0 * x) + A * x

View File

@ -1,6 +1,8 @@
from PySide6 import QtCore, QtWidgets, QtGui
import plots
import PIL
import pandas as pd
import fitting
# Значения парметра part при построении графиков установлены на тестовый режим
@ -154,12 +156,20 @@ class Part1(QtWidgets.QWidget):
@QtCore.Slot()
def savefile(self):
# при замене устройства директорию надо изменить
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 1",
r"C:\Users\Vadim\Desktop\plot1.jpg", "Images (*.png *.jpg)")
r"C:\Users\Vadim\Desktop\plot1.jpg", "Images (*.png *.jpg)")
if check:
plot1 = PIL.Image.open('tmpplots/tmpplot3.jpg')
plot1.save(file)
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения",
r"C:\Users\Vadim\Desktop\experiment1.xlsx", "Table (.xlsx)")
if check:
data = {'U_р, В': plots.vol[2][0], 'I_р, мА': plots.cur[2][0]}
df = pd.DataFrame(data)
df.to_excel(file, index=False)
def hint(self):
if not self.hint_open:
self.text.show()
@ -327,11 +337,37 @@ class Part2(QtWidgets.QWidget):
def save_file(self):
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить график 2",
r"C:\Users\Vadim\Desktop\plot2.jpg", "Images (*.png *.jpg)")
r"C:\Users\Vadim\Desktop\plot2.jpg", "Images (*.png *.jpg)")
if check:
plot1 = PIL.Image.open('tmpplots/tmpplot4.jpg')
plot1.save(file)
file, check = QtWidgets.QFileDialog.getSaveFileName(None, "Сохранить значения",
r"C:\Users\Vadim\Desktop\experiment2.xlsx", "Table (.xlsx)")
if check:
data = {'U_1, В': plots.vol[3][0], 'I_1, мкА': plots.cur[3][0]}
I_0, k_0, A = [], [], []
params = fitting.fit(plots.vol[3][0], plots.cur[3][0])
I_0.append(params[0])
k_0.append(params[1])
A.append(params[2])
for i in range(len(plots.vol[3]) - 1):
mes = {'U_' + str(i+2) + ', В': plots.vol[3][i+1], 'I_' + str(i+2) + ', мкА': plots.cur[3][i+1]}
data.update(mes)
params = fitting.fit(plots.vol[3][i + 1], plots.cur[3][i + 1])
I_0.append(params[0])
k_0.append(params[1])
A.append(params[2])
#I_0.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
#k_0.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
#A.extend([[] * (len(plots.vol[3][0]) - len(plots.vol[3]))])
data.update({'I_0, мкА': I_0, 'k_0, мкА/В': k_0, 'A, мкА/В': A})
df = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in data.items()]))
df.to_excel(file, index=False)
def hint(self):
if not self.hint_open:
self.text.show()
@ -391,4 +427,4 @@ class Part2(QtWidgets.QWidget):
self.num -= 1
if self.num == 0:
self.save_btn.hide()
self.delete_btn.hide()
self.delete_btn.hide()