gpt4 book ai didi

numpy - Matplotlib 流线图,具有不中断或结束的流线

转载 作者:行者123 更新时间:2023-12-03 16:40:40 28 4
gpt4 key购买 nike

我想制作一个流线图,当它们靠得太近时不会停止。我宁愿在两个方向上计算每个流线,直到它碰到窗口的边缘。结果是在某些区域它们会混在一起。但这就是我想要的。

我无论如何要在matplotlib中做到这一点?如果没有,我可以使用另一个工具来与 python/numpy 交互吗?

import numpy as np
import matplotlib.pyplot as plt
Y,X = np.mgrid[-10:10:.01, -10:10:.01]
U, V = Y**2, X**2
plt.streamplot(X,Y, U,V, density=1)
plt.show(False)

Stream plot example

最佳答案

好的,我发现我可以通过打开 density 获得大部分我想要的东西。很多并使用自定义起点。如果有更好的或替代的方法来做到这一点,我仍然很感兴趣。

这是我的解决方案。是不是看起来好多了?

import numpy as np
import matplotlib.pyplot as plt
Y,X = np.mgrid[-10:10:.01, -10:10:.01]
y,x = Y[:,0], X[0,:]
U, V = Y**2, X**2
stream_points = np.array(zip(np.arange(-9,9,.5), -np.arange(-9,9,.5)))
plt.streamplot(x,y, U,V, start_points=stream_points, density=35)
plt.show(False)

Streamplot example

编辑:顺便说一句, streamplot 中似乎有一些错误。使得 start_points关键字仅在对网格数据使用一维数组时才有效。见 Python Matplotlib Streamplot providing start points

关于numpy - Matplotlib 流线图,具有不中断或结束的流线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com