diff --git a/SPP_calculate.c b/SPP_calculate.c index fe1cdaa..8506c5a 100644 --- a/SPP_calculate.c +++ b/SPP_calculate.c @@ -88,7 +88,7 @@ static void ProgressBar(HWND hwnd, int msec) SendMessage(hwnd, PBM_GETRANGE, (WPARAM)TRUE, (LPARAM)&range); SendMessage(hwnd, PBM_SETPOS, (WPARAM)range.iLow, (LPARAM)0); while (TRUE) { - SendMessage(hwnd, PBM_DELTAPOS, (WPARAM)((range.iHigh - range.iLow) / 20), (LPARAM)0); Sleep(msec); + SendMessage(hwnd, PBM_DELTAPOS, (WPARAM)((range.iHigh - range.iLow) / 100), (LPARAM)0); Sleep(msec); if (SendMessage(hwnd, PBM_GETPOS, (WPARAM)0, (LPARAM)0) == range.iHigh) { break; @@ -342,7 +342,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ } fclose(fp_obs); - ProgressBar(hwndPB, 50); + ProgressBar(hwndPB, 5); if (o_epochnum > 0) { @@ -379,7 +379,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ } fclose(fp_nav); - ProgressBar(hwndPB, 20); + ProgressBar(hwndPB, 1); if (gps_satnum > 0) { diff --git a/plot/Mainui.py b/plot/Mainui.py index 0e28620..fd6047b 100644 --- a/plot/Mainui.py +++ b/plot/Mainui.py @@ -1,9 +1,12 @@ import math import time import Trocor +from base64 import b64decode from tkinter import colorchooser from tkinter import filedialog from tkinter import ttk +from PIL import Image, ImageTk +import tkinter.font as tkFont import tkinter as tk import matplotlib as mpl import numpy as np @@ -12,11 +15,81 @@ import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import ( FigureCanvasTkAgg, NavigationToolbar2Tk) -color = "#0080FF" -def Colorchoose(): - global color +ecolor = "#0080FF" +ncolor = "#0080FF" +ucolor = "#0080FF" + +def eColorchoose(): + global ecolor colorvalue = tk.colorchooser.askcolor() - color = str(colorvalue[1]) + ecolor = str(colorvalue[1]) + +def nColorchoose(): + global ncolor + colorvalue = tk.colorchooser.askcolor() + ncolor = str(colorvalue[1]) + +def uColorchoose(): + global ucolor + colorvalue = tk.colorchooser.askcolor() + ucolor = str(colorvalue[1]) + +def Opt_windows(): + opt = tk.Toplevel(root) + opt.title("Options") + opt.attributes("-toolwindow", 2) + opt.geometry('200x200+200+200') + opt.minsize(100,250) + opt.maxsize(100,250) + enucolopt = tk.Button(opt,text='E Color',width=10, height=1,command=eColorchoose) + enucolopt.pack(side=tk.TOP, expand=tk.YES) + enucollab = tk.Label(opt, width=11 , height=1 ,bg=ecolor) + enucollab.pack(side=tk.TOP, expand=tk.YES) + enucolopt = tk.Button(opt, text='N Color', width=10, height=1, command=nColorchoose) + enucolopt.pack(side=tk.TOP, expand=tk.YES) + enucollab = tk.Label(opt, width=11, height=1, bg=ncolor) + enucollab.pack(side=tk.TOP, expand=tk.YES) + enucolopt = tk.Button(opt, text='U Color', width=10, height=1, command=uColorchoose) + enucolopt.pack(side=tk.TOP, expand=tk.YES) + enucollab = tk.Label(opt, width=11, height=1, bg=ucolor) + enucollab.pack(side=tk.TOP, expand=tk.YES) + enuconfirm = tk.Button(opt, text='Confirm', width=10, height=1, command=opt.destroy) + enuconfirm.pack(side=tk.TOP, expand=tk.YES) + +def Abo_windows(): + abo = tk.Toplevel(root) + abo.title("About") + abo.attributes("-toolwindow", 2) + abo.geometry('200x200+200+200') + abo.minsize(200, 190) + abo.maxsize(200, 190) + + global photo + photo = ImageTk.PhotoImage(Image.open('Plot.ico')) + label = tk.Label(abo, image=photo) + label.pack(side=tk.TOP, expand=tk.YES) + + About = tk.Label(abo, text='\nSPP_plot ver 0.1.4\nCopyright (c) 2024 by KenanZhu\nAll Right Reserved.') + About.pack(side=tk.TOP, expand=tk.YES) + +def View_windows(): + f_path = filedialog.askopenfilename() + view = tk.Toplevel() + view.title('Viewing: %s'%(f_path)) + view.attributes("-toolwindow", 2) + view.geometry('900x600') + view.minsize(1000, 600) + ybar = tk.Scrollbar(view) + ybar.pack(side=tk.RIGHT, fill=tk.Y) + text = tk.Text(view, height=500, undo=True, autoseparators=False) + text.pack(fill=tk.BOTH) + with open(f_path, 'r') as f: + lines = f.readlines() + for line in lines: + text.insert("insert", line) + + text.config(state=tk.DISABLED) + ybar.config(command=text.yview) def PO_openfile(): ENU_O = np.empty((3, 0)) @@ -28,24 +101,22 @@ def PO_openfile(): while 1: line = f.readline() if line != "": - E = float(line[45:55]) - N = float(line[56:66]) - U = float(line[67:77]) + E = float(line[45 + 22:55 + 22]) + N = float(line[56 + 22:66 + 22]) + U = float(line[67 + 22:77 + 22]) ENU_O = np.hstack((ENU_O, [ [E], [N], [U] ] )) elif line == "": ex.clear() nx.clear() ux.clear() - ex.plot(ENU_O[0, :], color=color) - ex.set_ylabel('E-W(m)') - ex.set_xlabel('Epochs') + ex.plot(ENU_O[0, :], color=ecolor) + ex.set_title('E-W(m)', loc='left', fontsize=8) ex.grid(True, linestyle='--', alpha=0.7) - nx.plot(ENU_O[1, :], color=color) - nx.set_ylabel('N-S(m)') - nx.set_xlabel('Epochs') + nx.plot(ENU_O[1, :], color=ncolor) + nx.set_title('N-S(m)', loc='left', fontsize=8) nx.grid(True, linestyle='--', alpha=0.7) - ux.plot(ENU_O[2, :], color=color) - ux.set_ylabel('U-D(m)') + ux.plot(ENU_O[2, :], color=ucolor) + ux.set_title('U-D(m)', loc='left', fontsize=8) ux.set_xlabel('Epochs') ux.grid(True, linestyle='--', alpha=0.7) canvas.draw() @@ -58,7 +129,7 @@ def SPP_calculat(): C_V = 299792458 f1 = 1575.42 f2 = 1227.60 - ENU_O = np.empty((3, 0)) + ENU_O = np.empty((3,0)) f_path = filedialog.askopenfilename() with open(f_path, 'r') as f: while 1: @@ -97,6 +168,10 @@ def SPP_calculat(): break pathlon -= 1 # -----------------------------------------------# + + # Generate the data header-----------------------# + with open(o_path, 'w+') as of:# Initialize-------# + of.close() with open(o_path, 'a+') as of: print("@ GENGRATE PROGRAM : PySPP v0.1.1\n" "@ GENERATE TYPE : Receiver Station Position\n" @@ -104,7 +179,7 @@ def SPP_calculat(): "@ IONOS OPT : %s" "@ TROPO OPT : %s" "@\n\n" % (time.asctime(time.localtime()),ION,TRO), file=of) - print(" X-rec(m) Y-rec(m) Z-rec(m) Sn(n) dE(m) dN(m) dU(m) ", file=of) + print("GPST X-rec(m) Y-rec(m) Z-rec(m) Sn(n) dE(m) dN(m) dU(m) ", file=of) of.close() #Coordinate transformation matrix---------------# S = np.array([ @@ -124,12 +199,18 @@ def SPP_calculat(): L = np.empty((0, 1)) Ptem = [] - epoch = int(line[ 1: 5]) + y = int(line[6:10]) + m = int(line[11:13]) + d = int(line[14:16]) + h = int(line[17:19]) + min = int(line[20:22]) + sec = float(line[23:30]) while 1: line = f.readline() flag = line[0:1] if flag == "G": satnum += 1 + sPEN = int(line[1:3]) satX = float(line[6:21]) satY = float(line[22:37]) satZ = float(line[38:53]) @@ -161,7 +242,8 @@ def SPP_calculat(): ENU = S @ DeltaXYZ ENU_O = np.hstack((ENU_O,[ [ENU[0, 0]],[ENU[1, 0]],[ENU[2, 0]] ])) with open(o_path, 'a+') as of: - print("%12.4f %12.4f %12.4f %3d %10.5f %10.5f %10.5f" %(X, Y, Z, satnum, ENU[0, 0], ENU[1, 0], ENU[2, 0]),file = of) + print("%4d\\%02d\\%02d\\%02d\\%02d\\%04.1f %12.4f %12.4f %12.4f %3d %10.5f %10.5f %10.5f" + %(y, m, d, h, min, sec, X, Y, Z, satnum, ENU[0, 0], ENU[1, 0], ENU[2, 0]),file = of) of.close() break else: @@ -170,14 +252,14 @@ def SPP_calculat(): ex.clear() nx.clear() ux.clear() - ex.plot(ENU_O[0, :], color=color) - ex.set_ylabel('E-W(m)') + ex.plot(ENU_O[0, :], color=ecolor) + ex.set_title('E-W(m)', loc='left', fontsize=8) ex.grid(True, linestyle='--', alpha=0.7) - nx.plot(ENU_O[1, :], color=color) - nx.set_ylabel('N-S(m)') + nx.plot(ENU_O[1, :], color=ncolor) + nx.set_title('N-S(m)', loc='left', fontsize=8) nx.grid(True, linestyle='--', alpha=0.7) - ux.plot(ENU_O[2, :], color=color) - ux.set_ylabel('U-D(m)') + ux.plot(ENU_O[2, :], color=ucolor) + ux.set_title('U-D(m)', loc='left', fontsize=8) ux.set_xlabel('Epochs') ux.grid(True, linestyle='--', alpha=0.7) canvas.draw() @@ -185,17 +267,22 @@ def SPP_calculat(): break root = tk.Tk() -root.title("Plot") -root.iconbitmap('C:\\Users\\34716\\source\\repos\\SPP_Calculate\\Plot.ico') -root_pos = "%dx%d+%d+%d" % (900, 450, (root.winfo_screenwidth() - 900)/2, (root.winfo_screenheight() - 450/2)) -root.geometry(root_pos) - +root.title("SPP_plot") +root.geometry('900x450') root.minsize(300,500) +icon_img = b'AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAANIAAADSAAAAAAAAAAAAAAAEAQOcBAEDtQQBA6UEAQN6BAEDPgQBAwgEAQMABAEDAQQBAwMEAQMBBAEDAAQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBA60EAQP/BAED/QQBA/8EAQP+BAED3AQBA4cEAQMeBAEDAAQBAwMEAQMCBAEDAAQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDBwQBA8wEAQP/BAED+gQBA/4EAQP+BAED/wQBA/cEAQOCBAEDBgQCAwAEAQMBBAEDAAQBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDVQQBA/8EAQP8BAED/wQBA/0EAQP7BAED/AQBA/8EAQPEBAEDFAQBAwAEAQMBBAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMOBAED5wQBA/8EAQP+BAED/wQBA/8EAQP+BAED+QQBA/8EAQO7BAEDAAQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAgQBAwAEAQO5BAED/wQBA/wEAQP/BAED/wQBA/8EAQP/BAED/AQBA/8EAQMzBAEDAAQBAwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMEBAEDAAQBA5MEAQP/BAED+wQBA/8EAQP/BAED/wQBA/8EAQP9BAED/wQBAz8EAQMABAEDBQQBAwAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwQEAQMABAEDaAQBA/8EAQP7BAED/wQBA/8EAQP/BAED/gQBA/8EAQPqBAEDFAQBAwAEAQMBBAEDAwQBAwAEAQMABAEDAAYAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAgQBAwAEAQMnBAED+QQBA/4EAQP8BAED/gQBA/wEAQP5BAED/wQBA38EAQMABAEDOgQBAzsEAQMABAEDBAQBAwEEAQMABAEDAAMBAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDAwQBAwAEAQOIBAED/wQBA/wEAQP/BAED/QQBA/8EAQOhBAIDAAMBBAEEAQPIBAED/wQBA2UEAQMABAEDAwQBAwEEAQMABAEDAAQBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAQUAAgAEAQN8BAED6QQBA/QEAQPVBAEDZgQBAwMEAQMABAEDkAQBA/8EAQP5BAED/wQBA5QEAwUABAEDAgQBAwEEAQMABAEDAAQBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMABAEDAgQBAwAEAQMLBAEDGAQBAwQEAQMABAEDBAQBA5QEAQP/BAED/AQBA/4EAQP6BAED/wQBA6oEAQMDBAEDAQQBAwEEAQMABAEDAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMBBAEDAwQBAwAEAQMCBAEDAAQBAz8EAQPVBAED/wQBA/wEAQP/BAED/wQBA/8EAQP6BAED/wQBA64EAQMDBAEDAQQBAwEEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAgAEAQIABAEDAQQBAwQEAQMABAEDRQQBA/8EAQP6BAED/gQBA/8EAQP/BAED/wQBA/8EAQP6BAED/wQBA6YEAQQABAEDAgQBAwEEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwMEAQMABAEDbAQBA/8EAQP7BAED/wQBA/8EAQP/BAED/wQBA/8EAQP6BAED/wQBA5UEAQMABAEDAwQBAwAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwMEAQMABAEDkQQBA/8EAQP6BAED/wQBA/8EAQP/BAED/wQBA/8EAQP7BAED/wQBA38EAQMABAEDBAQAAAAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAQQBAwIEAQMABAEDnwQBA/8EAQP6BAED/wQBA/8EAQP/BAED/wQBA/8EAQP8BAED/wQBA2QEAQMABAEDBAQBAwAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAQQBAwIHAQQABAEDnQQBA/8EAQP6BAED/gQBA/8EAQP/BAED/wQBA/4EAQP+BAED/QQBA0cEAQMABAEDBAQBAwAEAQMABAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBAAQBAwAEAQMABAEDAQQBAwMEAQMABAEDjAQBA/8EAQP7BAED/gQBA/8EAQP/BAED/wQBA/0EAQP/BAED7gQBAysEAQMABAEDAwQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgECAAQBAwAEAQMABAEDAQQBAwQEAQMABAEDcwQBA/8EAQP9BAED/QQBA/8EAQP/BAED/wQBA/wEAQP/BAED1gQBAxIEAQMABAEDAgQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwECAAQBAwAEAQMABAEDAQQBAwQEAQMABAEDVQQBA/cEAQP/BAED/AQBA/8EAQP/BAED/wQBA/sEAQP/BAEDtQAAAAAEAQMCBAEDAQQBBAAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwQEAQMABAEDNgQBA+QEAQP/BAED+wQBA/8EAQP/BAED/wQBA/sEAQP/BAEDjAQBAwAEAQMEBAEEAAQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAADAAQBAwQEAQMABAEDGgQBA8cEAQP/BAED+wQBA/4EAQP/BAED/wQBA/wEAQP/BAEDXgQBAwAEAQMEBAEDAAQBAwAEAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwMEAwIABAEDBQQBA54EAQP/BAED/AQBA/0EAQP/BAED/gQBA/8EAQP0BAEDMQQBAwAEAQMDBAEDAAQBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwIEAQMDBAEDAAQBA20EAQP8BAED/wQBA/wEAQP/BAED/AQBA/8EAQPTBAEDDQQBAwAEAQMBBAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwEEAQMEBAEDAAQBAz0EAQPkBAED/wQBA/sEAQP+BAED+wQBA/8EAQOgBAEDAAQBAwMEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBAgAEAQMABAEDAAQBAwAEAQMEBAEDAAQBAxUEAQO4BAED/wQBA/sEAQP9BAED/AQBA/8EAQNhBAEDAAQBAwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDAAQBAwAEAQMDBAEDAQQBBAAEAQN6BAED/QQBA/8EAQP6BAED/wQBA+8EAQMiBAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDAAQBAwAEAQMCBAEDBAQBAwAEAQM6BAED2wQBA/8EAQP4BAED/wQBA60EAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDAAQBAwAEAQMBBAEDBAQBAwAEAQMMBAEDlgQBA/8EAQP+BAED/wQBA1UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMABAEDAwQBAwMEAQMABAEDPAQBA8kEAQP/BAED1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMABAEDAQQBAwQEAQMABAEDAwQBA18EAQOvAi///wCX//8AC///gBP//4AT//9AC///QAp//0AIv/9AEl//ICEv/wAgl/9IgAv/oQAF/9kAEv/8gAl//EAEf/0gAr/+kAFf/0gAr/+kAFf/0gAD/+kAK//0gBX/+QAK//6QBP//SAT//6QC///JAf//9IH///pA///8kP///0g=' +icon_img = b64decode(icon_img) +icon_img = ImageTk.PhotoImage(data=icon_img) +root.tk.call('wm', 'iconphoto', root._w, icon_img) + +default_font = tkFont.nametofont("TkDefaultFont") +default_font.configure(family="Segoe UI", size=9) + frmFigure = tk.Frame(root) frmFigure.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=tk.YES) -inter = tk.Label(root,text='Interval:') +inter = tk.Label(root,text=' Interval:') inter.pack(side=tk.LEFT, anchor='e') cboxi = ttk.Combobox(root, width=8, height=10) @@ -203,7 +290,7 @@ cboxi['value'] = ('0','0.05','0.1','0.2','0.25','0.5','1','5','10','15','30','60 cboxi.current(0) cboxi.pack(side=tk.LEFT, anchor='e') -plottype = tk.Label(root,text='Plot types:') +plottype = tk.Label(root,text=' Plot types:') plottype.pack(side=tk.LEFT, anchor='e') cboxe = ttk.Combobox(root, width=8) @@ -218,25 +305,23 @@ openmenu = tk.Menu(filemenu, tearoff=False) openmenu.add_command(label="Open.sp", command=SPP_calculat, accelerator='Ctrl+S') openmenu.add_command(label="Open.po", command=PO_openfile, accelerator='Ctrl+P') filemenu.add_cascade(label="Open...", menu=openmenu) -filemenu.add_command(label="View") +filemenu.add_command(label="View", command=View_windows) filemenu.add_command(label="Exit", command=root.quit, accelerator='Ctrl+E') topmenu.add_cascade(label="File", menu=filemenu) optmenu = tk.Menu(topmenu, tearoff=False) -colormenu = tk.Menu(optmenu, tearoff=False) -colormenu.add_command(label="ENU Colors", command=Colorchoose, accelerator='Ctrl+M') -colormenu.add_command(label="Satnum Colors", command=Colorchoose, accelerator='Ctrl+N') -optmenu.add_cascade(label="Color options...", menu=colormenu) +optmenu.add_cascade(label="Color options...", command=Opt_windows) topmenu.add_cascade(label="Options", menu=optmenu) helpmenu = tk.Menu(topmenu, tearoff=False) -helpmenu.add_command(label="About") +helpmenu.add_command(label="About", command=Abo_windows) topmenu.add_cascade(label="Help", menu=helpmenu) root.config(menu=topmenu) -plt.rc('font',family='sans-serif') -fig, (ex, nx, ux) = plt.subplots(3, 1, figsize=(10, 0), sharex=True) +plt.rc('font',family='Segoe UI') +fig, (ex, nx, ux) = plt.subplots(3, 1, figsize=(10, 0) ,sharex=True) +fig.subplots_adjust(left=0.045, bottom=0.12, right=0.97, top=0.95) canvas = FigureCanvasTkAgg(fig,frmFigure) canvas.draw() canvas.get_tk_widget().pack(side=tk.BOTTOM,fill=tk.BOTH,expand=tk.YES)