Python 如何在tkinter画布上绘制网格
我正在尝试在以下内容上绘制网格:Python 如何在tkinter画布上绘制网格,python,matplotlib,canvas,tkinter,grid,Python,Matplotlib,Canvas,Tkinter,Grid,我正在尝试在以下内容上绘制网格: from matplotlib.figure import figure = Figure(figsize=(10, 10)) a = figure.add_subplot(111) a.plot(x, y, '-r') canvas = FigureCanvasTkAgg(figure, master=window) canvas.get_tk_widget().pack() NavigationToolbar2Tk(canvas, plotWindow)
from matplotlib.figure import
figure = Figure(figsize=(10, 10))
a = figure.add_subplot(111)
a.plot(x, y, '-r')
canvas = FigureCanvasTkAgg(figure, master=window)
canvas.get_tk_widget().pack()
NavigationToolbar2Tk(canvas, plotWindow)
canvas.draw()
plotWindow只是一个tkinter.Frame对象
提前感谢:)因为我没有你所有的代码,所以我建议这样做 在
a=图之后添加子图(111)
ax = f.gca()
ax.set_xticks(numpy.arange(0,1,0.5))
然后在canvas=
之后放入
a.grid()
canvas.show()
省略canvas.draw()?,因为我没有你所有的代码,这是我的建议 在
a=图之后添加子图(111)
ax = f.gca()
ax.set_xticks(numpy.arange(0,1,0.5))
然后在canvas=
之后放入
a.grid()
canvas.show()
省略
canvas.draw()
?IIUC,您的figsize
太大,它会推离您的导航工具栏。尝试以下操作,对代码进行最小更改:
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk
import tkinter as tk
root = tk.Tk()
window = tk.Canvas(root)
window.pack()
plotWindow = tk.Frame(root)
plotWindow.pack()
figure = Figure(figsize=(5, 5))
a = figure.add_subplot(111)
x=[-100,100]
y=[0,4]
a.plot(x, y, '-r')
a.grid()
canvas = FigureCanvasTkAgg(figure, master=window)
canvas.get_tk_widget().pack()
NavigationToolbar2Tk(canvas, plotWindow)
canvas.draw()
root.mainloop()
IIUC,您的figsize
太大,它会推离您的导航工具栏。尝试以下操作,对代码进行最小更改:
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk
import tkinter as tk
root = tk.Tk()
window = tk.Canvas(root)
window.pack()
plotWindow = tk.Frame(root)
plotWindow.pack()
figure = Figure(figsize=(5, 5))
a = figure.add_subplot(111)
x=[-100,100]
y=[0,4]
a.plot(x, y, '-r')
a.grid()
canvas = FigureCanvasTkAgg(figure, master=window)
canvas.get_tk_widget().pack()
NavigationToolbar2Tk(canvas, plotWindow)
canvas.draw()
root.mainloop()
您需要为此绘制matplot吗?通常在matplot
中绘制线。您可以使用ie.x=[0,0]y=[-100100]
绘制垂直线,使用ie.x=[-100100]y=[0,0]
绘制水平线<代码>Matplot
还具有显示网格的功能。但所有这些都与tkinter.Canvas
@furas-yesm无关,我确实尝试了.grid(),但我从未.show()显示我的绘图,因此它无法工作(当它运行时,会弹出另一个窗口)。我甚至不使用matplotlib.plot,只使用matplotlib.figure,当我尝试在图形上使用.grid()时,它根本不起作用,或者我不知道如何使用matplot。您需要matplot吗?通常在matplot
中绘制线。您可以使用ie.x=[0,0]y=[-100100]
绘制垂直线,使用ie.x=[-100100]y=[0,0]
绘制水平线<代码>Matplot
还具有显示网格的功能。但所有这些都与tkinter.Canvas
@furas-yesm无关,我确实尝试了.grid(),但我从未.show()显示我的绘图,因此它无法工作(当它运行时,会弹出另一个窗口)。我甚至不使用matplotlib.plot,只使用matplotlib.figure,当我尝试在图形上使用.grid()时,它根本不起作用,或者我不知道如何使用它