[英]Trying to update a 3D graphs coordinates with 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.