在python中,哪种类型的绘图会产生这种效果

2024-05-12 21:22:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个看起来像图片的情节

Wave Particle Motions under Wave

这不是家庭作业,我只是想积累经验

我不需要全部代码。。我需要知道使用哪种类型的绘图,因为我想不出来

我尝试了几种不同的方法,每次都会出错,我在matplotlib中搜索有关如何绘制它的信息,但运气不佳

我有以下参数:

绘制水深波谷(波高剖面上的最低点)下的水颗粒运动图 从0米到100米,以平均水位线以下10米为增量

A = 1  # Wave amplitude in meters
T = 10  # Time Period in secs
n_w = 1 # Number of waves
wavelength = 156  # Wavelength in meters


k = (2 * np.pi) / wavelength
w = (2 * np.pi) / T

在空间上变化的波剖面是𝜂(𝑥) = 𝐴cos(𝑘 x)时间=0。首先绘制一个波的波形图

𝜂(𝑥) = 𝐴*cos(𝑘x) #at time = 0

接下来计算0到100m不同水深的垂直和水平粒子位移

XDisp = -A * e**(k*z) * np.sin(-w*t)
YDisp = -A * e**(k*z) * np.cos(-w*t) # when x=0

你可以用任何x。 运动幅度不变。其中z为低于平均水位的深度。所有其他参数如上述早期问题中所定义

对于垂直颗粒位移,不要忘记将水平颗粒位移移动到水槽下方和水线下方的“z”


Tags: in参数nppi水平绘制图片cos
1条回答
网友
1楼 · 发布于 2024-05-12 21:22:41

我假设您只是想要一些python代码,而我可以忽略物理化学上下文(我不想挖掘这些知识)

这应该让你开始:

import matplotlib.pyplot as plt
import numpy as np

# variable size scatter plot
N = 4
area = (30 * np.random.rand(N))**2
plt.scatter([3.5]*4,[1, 2, 3, 4], s=area)

plt.plot([1, 2, 3, 4], [1, 2, 3, 4], 'r')
plt.plot([1, 2, 3, 4], [1, 2, 3, 4], 'ro')

plt.show()

scatter plot

参考资料

相关问题 更多 >