import tkinter as tk import numpy as np from matplotlib import pyplot as plt from matplotlib.figure import Figure from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from mpl_toolkits.mplot3d import Axes3D import sympy from numpy import arange def plot_3d_graph(): # 创建一个 Figure 对象 fig = Figure(figsize=(8, 8), dpi=100, facecolor='#cdcdcd', edgecolor="#cdcdcd") x = arange(-19, 20, 0.1) y = arange(-19, 20, 0.1) z = [] sympy.Symbol("x y") for i in arange(-19, 20, 0.1): z.append(sympy.sympify("x**2+y**2").subs("x", i).subs("y", i).evalf()) # 在 Figure 上创建一个 3D 子图 ax = fig.add_subplot(111, projection='3d') ax.plot3D(x, y, z, 'gray') # 绘制三维图形 # 在这里添加你自己的三维图形绘制逻辑 # 例如 ax.plot_surface() 或 ax.scatter() # 创建一个 tkinter 窗口 root = tk.Tk() root.title("3D Graph") # 在 tkinter 窗口上创建一个 canvas canvas = FigureCanvasTkAgg(fig, master=root) canvas.draw() canvas.get_tk_widget().pack() # 运行 tkinter 主循环 tk.mainloop() # 调用函数绘制三维图形 plot_3d_graph()