У меня есть этот код, он позволяет мне вводить данные и строить их разными способами, он использует matplotlib и tkinter, все в порядке. Теперь я хотел сделать то же самое в ноутбуке jupyter, но, похоже, это не очевидная вещь (и я новичок в jupyter), я хочу сделать то же, что и в предыдущем примере в ноутбуке jupyter, преобразовать ipynb в html но при этом интерактивность тоже.
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
root= tk.Tk()
canvas1 = tk.Canvas(root, width = 800, height = 300)
canvas1.pack()
label1 = tk.Label(root, text='Graphical User Interface')
label1.config(font=('Arial', 20))
canvas1.create_window(400, 50, window=label1)
entry1 = tk.Entry (root)
canvas1.create_window(400, 100, window=entry1)
entry2 = tk.Entry (root)
canvas1.create_window(400, 120, window=entry2)
entry3 = tk.Entry (root)
canvas1.create_window(400, 140, window=entry3)
def create_charts():
global x1
global x2
global x3
global bar1
global pie2
x1 = float(entry1.get())
x2 = float(entry2.get())
x3 = float(entry3.get())
figure1 = Figure(figsize=(4,3), dpi=100)
subplot1 = figure1.add_subplot(111)
xAxis = [float(x1),float(x2),float(x3)]
yAxis = [float(x1),float(x2),float(x3)]
subplot1.bar(xAxis,yAxis, color = 'lightsteelblue')
bar1 = FigureCanvasTkAgg(figure1, root)
bar1.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=0)
figure2 = Figure(figsize=(4,3), dpi=100)
subplot2 = figure2.add_subplot(111)
xAxis2 = [float(x1),float(x2),float(x3)]
yAxis2= [float(x1)*2,float(x2)*2,float(x3)*2]
subplot2.scatter(xAxis2,yAxis2, color = 'lightsteelblue')
bar2 = FigureCanvasTkAgg(figure2, root)
bar2.get_tk_widget().pack(side=tk.LEFT, fill=tk.BOTH, expand=0)
# if u want piechart
## figure2 = Figure(figsize=(4,3), dpi=100)
## subplot2 = figure2.add_subplot(111)
## labels2 = 'Label1', 'Label2', 'Label3'
## pieSizes = [float(x1),float(x2),float(x3)]
## my_colors2 = ['lightblue','lightsteelblue','silver']
## explode2 = (0, 0.1, 0)
## subplot2.pie(pieSizes, colors=my_colors2, explode=explode2, labels=labels2, autopct='%1.1f%%', shadow=True, startangle=90)
## subplot2.axis('equal')
## pie2 = FigureCanvasTkAgg(figure2, root)
## pie2.get_tk_widget().pack()
def clear_charts():
bar1.get_tk_widget().pack_forget()
pie2.get_tk_widget().pack_forget()
button1 = tk.Button (root, text=' Create Charts ',command=create_charts, bg='palegreen2', font=('Arial', 11, 'bold'))
canvas1.create_window(400, 180, window=button1)
button2 = tk.Button (root, text=' Clear Charts ', command=clear_charts, bg='lightskyblue2', font=('Arial', 11, 'bold'))
canvas1.create_window(400, 220, window=button2)
button3 = tk.Button (root, text='Exit Application', command=root.destroy, bg='lightsteelblue2', font=('Arial', 11, 'bold'))
canvas1.create_window(400, 260, window=button3)
root.mainloop()