ฉันพยายามรวมแปลง 2d/3d โดยใช้ matplotlib ในแอปพลิเคชัน Python GUI ของฉันโดยใช้ TKinter และประสบความสำเร็จกับแปลง 2d แต่ไม่ใช่แปลง 3 มิติ ปัญหาของฉันคือไม่สามารถแพนหรือซูมแปลง 3 มิติได้ แม้ว่าปุ่มในบานหน้าต่างนำทางจะตอบสนองต่อการคลิกปุ่มก็ตาม นี่คือตัวอย่างโค้ดที่แสดงให้เห็นถึงปัญหาของฉัน:
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()
ดังนั้นเมื่อฉันพล็อต 2d โดยใช้โค้ดด้านบน การแพน/ซูมจะทำงานตามที่คาดไว้ เมื่อฉันเปลี่ยนบรรทัดที่แสดงความคิดเห็นและใช้พล็อต 3 มิติ การแพน/ซูมจะไม่ทำงาน ฉันขาดอะไรง่ายๆ หรือมีปัญหากับการแพน / ซูม 3 มิติใน tkinter ด้วย matplotlib หรือไม่