【发布时间】:2018-10-07 09:34:58
【问题描述】:
我不是初学者,但我也不是 python 代码的高级开发人员。 我一直在尝试对散点图中的点移动进行动画处理,并在每个点上添加注释。我所做的只是没有注释的一点动画。我已经搜索了类似的解决方案,但它是如此令人困惑。欢迎任何帮助。这就是我所做的。
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import matplotlib.animation as animation
frame_count = 0
points = reading_file("some_data") # this method is not of intrest
def make_one_point(i):
global frame_count, points
ex = [1]
ey = [1]
ez = [1]
point = points[i]
frame = point[frame_count]
ex[0] = frame[0]
ey[0] = frame[1]
ez[0] = frame[2]
frame_count += 1
return ex, ey, ez
def update(i):
global frame_count, points
if frame_count < len(points[i]):
return make_one_point(i)
else:
frame_count = 0
return make_one_point(i)
fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')
ax1.set_xlim3d(-500, 2000)
ax1.set_ylim3d(-500, 2000)
ax1.set_zlim3d(0, 2000)
x = [1]
y = [1]
z = [1]
scat = ax1.scatter(x,y,z)
def animate(i):
scat._offsets3d = update(0)
ani = animation.FuncAnimation(fig, animate,
frames=len(points[10]),
interval=100, repeat=True)
plt.show()
如何同时为多个点设置动画,并为每个点添加注释?有50分,我对效率不是那么在意,只是为了让它发挥作用。
【问题讨论】:
-
我在发布我的问题之前已经阅读了它,我认为这不是重复的,因为我在这里尝试了一些不同的东西。
-
以后解释一下为什么可能的重复不能回答您的问题会很有帮助。
-
首先,感谢您的回答,很抱歉,这是我第一次使用stackoverflow。可能的重复不能回答我的问题,因为没有解决在绘图点上添加文本的问题,并且点是固定的,可能的重复解决方案只是添加新点。但在这里,我试图移动点,并为每个点添加文本。
标签: python animation matplotlib annotations scatter3d