Saya telah mencoba memasukkan plot 2d/3d menggunakan matplotlib dalam aplikasi GUI Python saya menggunakan TKinter dan berhasil dengan plot 2d, tetapi tidak dengan plot 3d. Masalah saya adalah tidak ada plot 3d yang dapat digeser atau diperbesar, meskipun tombol di panel navigasi telah merespons klik tombol. Berikut adalah contoh kode yang menunjukkan masalah saya:
import tkinter as tk
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
import numpy as np
root = tk.Tk()
frame = tk.Frame(root)
frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
#uncomment as needed to demonstrate 2d/3d plot
#subplot_kw = {'projection':'3d'}
subplot_kw = {}
fig, ax = plt.subplots(subplot_kw=subplot_kw)
if len(subplot_kw) > 0:
ax.plot(range(100), np.random.rand(100), np.random.rand(100))
else:
ax.plot(range(100), np.random.rand(100))
canvas = FigureCanvasTkAgg(fig, frame)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=True)
toolbar = NavigationToolbar2Tk(canvas, frame)
toolbar.update()
root.mainloop()
Jadi ketika saya memplot 2d menggunakan kode di atas, pan/zoom berfungsi seperti yang diharapkan. Ketika saya mengubah baris komentar dan menggunakan plot 3d, geser/zoom tidak berfungsi. Apakah saya melewatkan sesuatu yang sederhana atau ada masalah dengan 3d pan/zoom di tkinter dengan matplotlib?