本文介绍了在Python中使用matplotlib.animation制作动画3D条形图的示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经看到了一些使用 matplotlib.animation
模块的好例子,包括这个
I've seen a few nice examples of use of matplotlib.animation
module, including this animated 3D plot example. I'm wondering if this animation module can be used with a bar3d
chart.
Can someone generates a simple example of that?
Note: I'm currently working on a different solution that doesn't include matplotlib.animation
(see my other post) but this appears to be too slow...
解决方案
Here's a small example with 2x2 bars which will be growing and changing color randomly, one at a time when update_bars()
is called:
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as p3
import matplotlib.animation as animation
import random
def update_bars(num, bars):
i = random.randint(0, 3)
dz[i] += 0.1
bars[i] = ax.bar3d(xpos[i], ypos[i], zpos[i], dx[i], dy[i], dz[i], color=random.choice(['r', 'g', 'b']))
return bars
fig = plt.figure()
ax = p3.Axes3D(fig)
xpos = [1, 1, 3, 3]
ypos = [1, 3, 1, 3]
zpos = [0, 0, 0, 0]
dx = [1, 1, 1, 1]
dy = [1, 1, 1, 1]
dz = [3, 2, 6, 5]
# add bars
bars = []
for i in range(4):
bars.append(ax.bar3d(xpos[i], ypos[i], zpos[i], dx[i], dy[i], dz[i], color=random.choice(['r', 'g', 'b'])))
ax.set_title('3D bars')
line_ani = animation.FuncAnimation(fig, update_bars, 20, fargs=[bars], interval=100, blit=False)
plt.show()
Output (not animated here):
这篇关于在Python中使用matplotlib.animation制作动画3D条形图的示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!