diff --git a/JFSphoto.py b/JFSphoto.py index fc54a8a..6918fc7 100644 --- a/JFSphoto.py +++ b/JFSphoto.py @@ -21,6 +21,7 @@ from matplotlib.ticker import LinearLocator, FormatStrFormatter from mpl_toolkits.mplot3d import Axes3D from tkinter import ttk import CCDpanelsetup as panel +from sklearn.metrics import r2_score ####################################### object class Messurement(object): ### nr -> na @@ -585,6 +586,12 @@ class Jfsphoto (object): def do_methods(self,panel): + font = {'family': 'serif', + 'color': 'darkred', + 'weight': 'normal', + 'size': 8, + } + def waitfor(): pass @@ -619,15 +626,26 @@ class Jfsphoto (object): x = [] name = tree.selection() for child in tree.get_children(name): - x.append(tree.item(child)["values"][2]) - y.append(tree.item(child)["values"][3]) - print(x,y) - - + x.append(float(tree.item(child)["values"][2])) + y.append(float(tree.item(child)["values"][3])) + ax1.clear() + model = np.polyfit(x,y,1) + predict = np.poly1d(model) + x_range = np.linspace(x[0],x[-1]) + y_range = predict(x_range) + ax1.plot(x_range,y_range,linewidth=0.6) + ax1.plot(x, y, '+') + ax1.set_title(f'{name[0]}',fontdict=font) + ax1.text(x[0], 1, f'A vs {tree.item(name)["values"][2]}',fontdict=font) + ax1.text(x[0], 0.9, f'y = {round(model[0],3)}x + {round(model[1],3)}',fontdict=font) + ax1.text(x[0], 0.8, f'R ={round(r2_score(y,predict(x)),3)}',fontdict=font) + #ax1.text(x[0], 0.9, r'Omega: {s} $\Omega$', {'color': 'b', 'fontsize': 8}) + canvas.draw() win = tk.Toplevel() - tree = ttk.Treeview(win) - + lf = tk.LabelFrame(win,text='Methods') + lf.grid(column=0,row=0,sticky='w') + tree = ttk.Treeview(lf) tree.tag_bind('cb','<>',cb) tree.tag_bind('cb2','<>',cb2) tree.grid(column=0,row=0) @@ -645,10 +663,7 @@ class Jfsphoto (object): tree.heading("konz",text='conc',anchor=tk.W) tree.heading("absorbanz",text="Absorbanz",anchor=tk.W) tree.heading("interval",text='intervall',anchor=tk.W) - tree.heading("last",text='last conc',anchor=tk.W) - - - + tree.heading("last",text='last conc',anchor=tk.W) einheiten = ['Mol','mmol','mymol'] @@ -736,18 +751,17 @@ class Jfsphoto (object): lb3 = tk.Button(lf1,text='Save Methods',command=save_tree) lb3.grid(column=0,row=7,sticky='w') #### canvas - lf2 = tk.LabelFrame(win,text='Canvas') - lf2.grid(column=1,row=0,sticky='w') - fig = plt.Figure(figsize=(3,2),dpi=120) - plt.rc('legend',fontsize=8) + fig = plt.Figure(figsize=(4,2),dpi=100) ax1 = fig.add_subplot(111) - canvas = FigureCanvasTkAgg(fig, master = lf2) + canvas = FigureCanvasTkAgg(fig, master = win ) + canvas.get_tk_widget().grid(column=1,row=0,sticky='nesw') + #### test output t = arange(0.0, 3.0, 0.01) - s = sin(2*pi*t) + s = sin(2*pi*t) ax1.plot(t, s, linewidth=0.6) canvas.draw() - - + #### do messurements + #### go on load_tree() win.focus_set()