python - 尝试使用 matplotlib 更新 3D 图形坐标

标签 python tkinter matplotlib

我有一个函数可以在 tkinter 中使用 matplotlib 绘制 3D 球体。但是,每次我都将该函数称为绕球体下降时的性能。此外,图表仅在我尝试环绕球体运行后才会更新。

self.A 是调整球体大小的变量。

我的功能:

def draw_fig(self):

        self.ax = Axes3D(self.fig)

        u = numpy.linspace(0, 2 * numpy.pi, 100)
        v = numpy.linspace(0, numpy.pi, 100)
        x = self.A * numpy.outer(numpy.cos(u), numpy.sin(v))
        y = self.A * numpy.outer(numpy.sin(u), numpy.sin(v))
        z = self.A * numpy.outer(numpy.ones(numpy.size(u)), numpy.cos(v))

        t = self.ax.plot_surface(x, y, z,  rstride=4, cstride=4,color='lightblue',linewidth=0)

最佳答案

你不应该每次都重新生成所有数据,而只是修改你现有的数据。

编辑:只需移出调用 draw_fig 的轴构建代码

def __init__...
     u = numpy.linspace(0, 2 * numpy.pi, 100)
     v = numpy.linspace(0, numpy.pi, 100)
     self.x = A * numpy.outer(numpy.cos(u), numpy.sin(v))
     self.y = A * numpy.outer(numpy.sin(u), numpy.sin(v))
     self.z = A * numpy.outer(numpy.ones(numpy.size(u)), numpy.cos(v))
     self.ax = Axes3D(self.fig)

def draw_fig(self):

        t = self.ax.plot_surface(self.x, self.y, self.z,  rstride=4, cstride=4,color='lightblue',linewidth=0)

关于python - 尝试使用 matplotlib 更新 3D 图形坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4181097/

相关文章:

python - Kivy 无法从外部 URL 加载图像

python - Celery 和 Django 的周期性任务

python - 类型错误 : takes exactly 0 arguments (1 given)

python - 在 python 中更新 tkinter 标签

python - ImageTk.PhotoImage 无法正确显示图像

python - 使用 Tkinter、Threading 和 After 方法

Python 多处理作业到 Celery 任务但 AttributeError

python - 不同颜色的 Pandas 绘图栏无法按预期工作

python - Matplotlib 2.2.2 无法 xkcdify 绘图

python - 使用变量 reshape Numpy 中的数组