如何使用 tkinter 和 matplotlib 更改图中轴上的值?
How do i change the values on the axes in the plot using tkinter and matplotlib?
我正在使用 tkinter 创建一个包含两条曲线的图。我设法绘制了它们,但它在 x 轴上仅显示正值。
graph = Figure(figsize=(5,5), dpi=100)
A0=1
b=.1
y = [-((A0/pi)*(1-b*x))**0.5 for x in range(-101, (int(1/b)+1))]
z = [((A0 / pi) * (1 - b * x)) ** 0.5 for x in range(-101, (int(1/b)+1))]
plot1 = graph.add_subplot(111)
plot2 = graph.add_subplot(111)
plot1.plot(y)
plot2.plot(z)
canvas1 = FigureCanvasTkAgg(graph, master=self)
canvas1.draw()
canvas1.get_tk_widget().grid(row=0, column=0, columnspan=5 )
如何使这些值成为创建曲线时使用的 x 值?
您需要将 x 和 y 传递给 plot()
。您还可以使用 numpy
简化和加速您的代码。此外,您不需要创建两个子图。
x = np.arange(-101, (int(1/b)+1))
y = -((A0/np.pi)*(1-b*x))**0.5
z = ((A0 /np.pi) * (1 - b * x)) ** 0.5
plot1 = graph.add_subplot(111)
plot1.plot(x,y)
plot1.plot(x,z)
我正在使用 tkinter 创建一个包含两条曲线的图。我设法绘制了它们,但它在 x 轴上仅显示正值。
graph = Figure(figsize=(5,5), dpi=100)
A0=1
b=.1
y = [-((A0/pi)*(1-b*x))**0.5 for x in range(-101, (int(1/b)+1))]
z = [((A0 / pi) * (1 - b * x)) ** 0.5 for x in range(-101, (int(1/b)+1))]
plot1 = graph.add_subplot(111)
plot2 = graph.add_subplot(111)
plot1.plot(y)
plot2.plot(z)
canvas1 = FigureCanvasTkAgg(graph, master=self)
canvas1.draw()
canvas1.get_tk_widget().grid(row=0, column=0, columnspan=5 )
如何使这些值成为创建曲线时使用的 x 值?
您需要将 x 和 y 传递给 plot()
。您还可以使用 numpy
简化和加速您的代码。此外,您不需要创建两个子图。
x = np.arange(-101, (int(1/b)+1))
y = -((A0/np.pi)*(1-b*x))**0.5
z = ((A0 /np.pi) * (1 - b * x)) ** 0.5
plot1 = graph.add_subplot(111)
plot1.plot(x,y)
plot1.plot(x,z)