Я пытаюсь развернуть график на встроенном холсте после нажатия кнопки, чтобы он отображался в отдельном окне matplotlib для изучения пользователем. Например, с учетом графика на холсте
![enter image description here](https://i.stack.imgur.com/6LWT8.png)
, затем
![enter image description here](https://i.stack.imgur.com/0fEHD.png)
должен отображаться после нажатия кнопки.
Я хотел бы сделать это без вызова переменных x
и y
в def expand_graph()
. Причина в том, что в моем реальном коде я объявил много переменных и хотел бы расширить то, что в настоящее время отображается на холсте, без необходимости проверять, какие переменные были нанесены на график. Как я могу настроить мой код ниже, чтобы выполнить sh это?
import numpy as np
from tkinter import *
from tkinter import ttk
import matplotlib.pyplot as plt
from matplotlib import style
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
def expand_graph():
fig = plt.figure(figsize=(8, 6))
fig.suptitle('Expanded Graph')
#plt.plot(x, y, lw=1)
plt.plot(ax1)
plt.xlabel('x-values')
plt.ylabel('y-values')
plt.show()
if __name__=="__main__":
root = Tk()
x = np.arange(0.0, 2.0, 0.01)
y = 1 + np.cos(2 * np.pi * x)
style.use('ggplot')
Figure1 = plt.Figure()
plot1 = FigureCanvasTkAgg(Figure1, root)
plot1.get_tk_widget().grid(columnspan=6, rowspan = 15)
ax1 = Figure1.add_subplot()
ax1.plot(x, y, lw=1)
ax1.set_xlabel("x-values", fontsize='medium')
ax1.set_ylabel("y-values", fontsize='medium')
button=ttk.Button(root, text="Expand Graph", command=expand_graph, width = 15)
button.grid(row=16, columnspan=6)
root.mainloop()
Спасибо.