【发布时间】:2019-01-16 20:02:29
【问题描述】:
我正在编写一个程序,使用 matplotlib 和 tkinter 通过 GUI 绘制图形。一切都按计划进行,除了在我输入 x 和 y 变量之后,绘制的图形是精确的 x=y 线,除了轴上的数字按输入顺序排列。
代码如下:
我已经尝试过使用来自matplotlib 的axis 命令,但没有成功。
x=[]
y=[]
enterx = ttk.Entry(self)
enterx.pack()
enterx.insert(0,"X")
entery = ttk.Entry(self)
entery.pack()
entery.insert(0,"Y")
def creategraph(self,parent,x,y,enterx,entery):
f = Figure(figsize=(5,5), dpi=100)
a = f.add_subplot(111)
textx = enterx.get()
texty = entery.get()
x=textx.split(",")
y=texty.split(",")
a.plot(x,y)
canvas = FigureCanvasTkAgg(f,self)
canvas.draw()
toolbar = NavigationToolbar2Tk(canvas,self)
toolbar.update()
canvas._tkcanvas.pack(side=tk.TOP,fill=tk.BOTH, expand=True)
canvas.get_tk_widget().pack(side=tk.BOTTOM,fill=tk.BOTH, expand=True)
代码不包括tkinter 窗口初始化或小部件。我以为它会在轴上绘制一条具有均匀间隔数字的线,但事实并非如此。
【问题讨论】:
标签: python python-3.x matplotlib tkinter