如何使用 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)