matplotlib 创建如所附图片所示的图表[已关闭]

yxyvkwin  于 2023-11-22  发布在  其他
关注(0)|答案(2)|浏览(237)

**已关闭。**此问题正在寻求有关书籍、工具、软件库等内容的建议。它不符合Stack Overflow guidelines。当前不接受答案。

我们不允许提出问题来寻求对图书、工具、软件库等的推荐。您可以编辑问题,以便用事实和引文来回答。
27天前关闭
Improve this question
有人知道这个图的名字吗?我没有任何数据集,我也不知道它是如何创建的。
1-有谁能告诉我如何在python中创建这种图吗?我没有任何数据集,所以如果你能告诉我这个图需要什么样的数据集,那就太好了。
2-对我来说,这似乎是一个时间序列linechart,所以任何人都可以提供一个代码来生成一个类似的图表,如所附的图片。


的数据
我试着用一些timeseries数据集样本来做这件事,但结果并没有接近图中所示的图形。

093gszye

093gszye1#

请尝试以下操作:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. def f(x):
  4. return np.sin(20*x) * np.sin(x) + x/3
  5. x = np.linspace(-2*np.pi, 2*np.pi, 1000)
  6. y = f(x)
  7. plt.figure(figsize=(8, 6))
  8. plt.plot(x, y, label='y = sin(20x) * sin(x) + x/3', color='b')
  9. plt.xlabel('x')
  10. plt.ylabel('y')
  11. plt.grid(True)
  12. plt.show()

字符串
输出为:


的数据
这个函数可能类似于:f(x) = sin(A*x)*sin(B*x) + x*C,其中A、B和C是一些常数。
至于这个图形的名称,您可能会将其与术语Amplitude modulation联系起来,其中一个正弦波被另一个正弦波调制。

展开查看全部
n3schb8v

n3schb8v2#

这看起来像是一个正弦函数,它被另一个正弦函数(在这个例子中是半正弦)调制,然后添加了一个线性偏移。你可以很容易地生成这个:

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. rads = np.arange(360)*np.pi/180
  4. base_frequency = 10 #angular frequency
  5. base_sine_curve = np.sin(base_frequency*rads)
  6. modulation_curve = np.sin(rads/2) # half a sine wave
  7. linear_offset = np.arange(360)/180 #increase y value by 0.5 after 360 degrees
  8. xs = np.arange(360)
  9. fig, (ax1,ax2,ax3) = plt.subplots(1,3,figsize=(16,5))
  10. ax1.plot(xs,base_sine_curve,label='base frequency')
  11. ax1.legend(loc='upper center', bbox_to_anchor=(0.5, 1.1))
  12. ax2.plot(xs,modulation_curve,label='modulation frequency')
  13. ax2.plot(xs,base_sine_curve*modulation_curve)
  14. ax2.legend(loc='upper center', bbox_to_anchor=(0.5, 1.1))
  15. ax3.plot(xs,linear_offset,label='linear offset')
  16. ax3.plot(xs,(base_sine_curve*modulation_curve)+linear_offset)
  17. ax3.legend(loc='upper center', bbox_to_anchor=(0.5, 1.1))
  18. plt.show()

字符串
编辑:下面是程序的输出:

显然,您可以重复此操作以获得重复的调制正弦波,但我认为该示例应该按照您的要求执行

展开查看全部

相关问题