如何用python制作三维动画_python-如何在m??atplotlib中更新3D箭头动画

正如Azad所建议的那样,一个不大但有效的解决方案是简单地编辑mpl_toolkits / mplot3d / axes3d.py以删除标准化.因为我不想弄乱我的实际matplotlib安装,所以我只是将axes3d.py文件复制到其他脚本所在的目录中,并修改了该行

norm = math.sqrt(u ** 2 + v ** 2 + w ** 2)

norm = 1

(请确保更改正确的行.“ norm”的另一种用法是高出几行.)此外,为了使axes3d.py在mpl目录之外时能够正常运行,我更改了

from . import art3d

from . import proj3d

from . import axis3d

from mpl_toolkits.mplot3d import art3d

from mpl_toolkits.mplot3d import proj3d

from mpl_toolkits.mplot3d import axis3d

这是我能够生成的漂亮动画(不确定颜色出了什么问题,在上传到SO之前看起来还不错).

CLAq4.gif

以及生成动画的代码:

import numpy as np

import matplotlib.pyplot as plt

import axes3d_hacked

ax1 = plt.subplot(111,projection='3d')

plt.ion()

plt.show()

t = np.linspace(0,10,40)

for index,delay in enumerate(np.linspace(0,1,20)):

y = np.sin(t+delay)

z = np.sin(t+delay)

if delay > 0:

line.remove()

ax1.collections.remove(linecol)

line, = ax1.plot(t,y,z,color='r',lw=2)

linecol = ax1.quiver(t,y,z, t*0,y,z)

plt.savefig('images/Frame%03i.gif'%index)

plt.draw()

plt.ioff()

plt.show()

现在,如果我只能让那些箭头看起来更漂亮,并且头部充满魅力.但这是一个单独的问题…

编辑:将来,根据此pull request,matplotlib不会自动将3D箭袋中的箭头长度标准化.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值