Draw Math Curve,drawmathcurve,from Tkinter
Draw Math Curve,drawmathcurve,from Tkinter
from Tkinter import *import mathroot = Tk()fram = Frame(root)Label(fram,text='f(x):').pack(side=LEFT)func = Entry(fram)func.pack(side=LEFT, fill=BOTH, expand=1)butt = Button(fram, text='Plot')butt.pack(side=RIGHT)fram.pack(side=TOP)fram = Frame(root)bounds = []for label in 'minX', 'maxX', 'minY', 'maxY': Label(fram,text=label+':').pack(side=LEFT) edit = Entry(fram, width=6) edit.pack(side=LEFT) bounds.append(edit)fram.pack(side=TOP)c = Canvas(root)c.pack(side=TOP, fill=BOTH, expand=1)def minimax(values=[0.0, 1.0, 0.0, 1.0]): for i in range(4): edit = bounds[i] try: values[i] = float(edit.get()) except: pass edit.delete(0, END) edit.insert(END, '%.2f'%values[i]) return valuesdef plot(): minx, maxx, miny, maxy = minimax() f = func.get() f = compile(f, f, 'eval') CX = c.winfo_width() CY = c.winfo_height() coords = [] for i in range(0,CX,5): coords.append(i) x = minx + ((maxx-minx)*i)/CX y = eval(f, vars(math), {'x':x}) j = CY*(y-miny)/(maxy-miny) coords.append(j) c.delete(ALL) c.create_line(*coords)butt.config(command=plot)f = 'sin(x) + cos(x)'func.insert(END, f)minimax([0.0, 10.0, -2.0, 2.0])root.mainloop()
- Set Button style: font,buttonfont,from Tkinter
- List comprehensions: for and tuple,,print [x+y f
- Assignment to slices: Remove some,assignmentslices,a =
- Use in to check Membership,checkmembership,permissions
- Change individual elements of a list,individualelement
- List Delete: delete one item and delete an entire sectio
热门文章:
相关内容
- Set Button style: font,buttonfont,from Tkinter
- List comprehensions: for and tuple,,print [x+y f
- Assignment to slices: Remove some,assignmentslices,a = ['spam',
- Use in to check Membership,checkmembership,permissions
- Change individual elements of a list,individualelements,a = ['spam'
- List Delete: delete one item and delete an entire section,entiresec
- List: delete a slice :2,deleteslice,inventory =
- List reverse(): Reverse the elements of the list, in place,reversee
- List: display a slice,listdisplayslice,inventory =
- Getting a List Subset: Slicing,subsetslicing,li = ['a', '
评论关闭