python简笔画绘制 数据驱动绘图_如何绘制流线,当我知道u和v分量的速度(numpy 2d数组)时,使用python中的绘图程序?...

看看

Tom Flannaghan’s streamplot function.

relevant thread on the user’s list is here,还有另一个

similar code snippet by Ray Speth做的事情略有不同。

如果您有速度问题,使用一些scipy的集成功能可能会更有效,而不是在这两个示例中使用的纯nump集成功能。我没有尝试过,而且这些故意避免依赖于scipy。 (与scpy相比,scipy是一个相当沉重的依赖)

从它的例子情节:

import matplotlib.pyplot as plt

import numpy as np

from streamplot import streamplot

x = np.linspace(-3,3,100)

y = np.linspace(-3,3,100)

u = -1-x**2+y[:,np.newaxis]

v = 1+x-y[:,np.newaxis]**2

speed = np.sqrt(u*u + v*v)

plt.figure()

plt.subplot(121)

streamplot(x, y, u, v, density=1, INTEGRATOR='RK4', color='b')

plt.subplot(122)

streamplot(x, y, u, v, density=(1,1), INTEGRATOR='RK4', color=u,

linewidth=5*speed/speed.max())

plt.show()

另一个选择是使用VTK。它是加速3D绘图,所以制作2D绘图将需要正确设置相机(这不是太难),并且您将无法获得矢量输出。

Mayavi,tvtk和mlab为VTK提供了pythonic包装纸。它具有很多这样的功能。

使用VTK来绘制来自numpy数组的流线的最简单的方法是使用mayavi.mlab.flow.我现在将跳过一个例子,但是如果要使用VTK进行探索,可以添加一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值