在 Python Matplotlib 中绘制正弦曲线下的随机点

matplotlibpythondata visualization

在正弦曲线下绘制随机点是一种引人入胜的视觉练习,它展示了 Python 中 Matplotlib 的多功能性。通过生成随机点并沿 y 轴偏移它们,我们可以创建一个看起来遵循正弦波形状的散点图。

本文深入探讨了生成这些随机点的过程,使用正弦函数计算它们对应的 y 坐标,并使用 Matplotlib 可视化结果。我们将更深入地了解如何利用 Matplotlib 的绘图功能来创建引人入胜且动态的可视化效果。

如何在 Python Matplotlib 中绘制正弦曲线下的随机点?

以下是下一节中将看到的程序的完整分步说明 -

  • 导入必要的库 -

    • numpy 被导入以生成随机数并执行数学计算。

    • matplotlib.pyplot 被导入以创建绘图和可视化效果。

  • 定义随机点的数量 -

    • num_points 变量设置为所需的随机点数量生成。

  • 生成随机 x 坐标 −

    • np.random.uniform(0, 2 * np.pi, num_points) 生成一个数组,其中包含 0 到 2π(含)之间的 num_points 个随机值。这些值将用作点的 x 坐标。

  • 使用正弦函数计算 y 坐标 −

    • np.sin(x) 计算上一步生成的 x 坐标的正弦值。这为我们提供了正弦曲线上点的 y 坐标。

  • 为 y 坐标生成随机偏移量 −

    • np.random.uniform(-0.5, 0.5, num_points) 生成一个介于 -0.5 和 0.5 之间的随机值数组。这些值将用于偏移 y 坐标,将点分散在正弦曲线周围。

  • 向 y 坐标添加偏移量 −

    • y += offsets 将随机偏移量添加到步骤 4 中生成的 y 坐标,在正弦曲线周围创建点的分散分布。

  • 绘制点 −

    • plt.scatter(x, y, color='blue', s=10) 创建随机点的散点图。 x 坐标由数组 x 给出,y 坐标由数组 y 给出,点的颜色设置为蓝色,点的大小设置为 10。

  • 绘制正弦曲线 −

    • x_vals = np.linspace(0, 2 * np.pi, 100) 生成 100 个在 0 到 2π 之间均匀分布的值。这些值将用作绘制正弦曲线的 x 坐标。

    • y_vals = np.sin(x_vals) 计算上面生成的 x 坐标的正弦值,给出正弦曲线的 y 坐标。

    • plt.plot(x_vals, y_vals, color='red') 使用 x 坐标 x_vals 和 y 坐标 y_vals 绘制正弦曲线。曲线的颜色设置为红色。

  • 设置 x 轴和 y 轴范围 −

    • plt.xlim(0, 2 * np.pi) 将 x 轴的范围设置为从 0 到 2π。

    • plt.ylim(-1.5, 1.5) 将 y 轴的范围设置为从 -1.5 到 1.5。

  • 设置标签和标题 −

    • plt.xlabel('x') 将 x 轴的标签设置为 'x'。

    • plt.ylabel('y') 将y 轴显示为 'y'。

    • plt.title('正弦曲线下的随机点') 将绘图标题设置为 '正弦曲线下的随机点'。

  • 显示绘图 −

    • plt.show() 显示包含所有指定元素(点、正弦曲线、标签和标题)的绘图。

示例

下面是使用上述步骤的程序示例。

import numpy as np
import matplotlib.pyplot as plt

# 生成的随机点数
num_points = 100

# 生成 0 到 2*pi 之间的随机 x 坐标
x = np.random.uniform(0, 2 * np.pi, num_points)

# 使用正弦函数计算相应的 y 坐标
y = np.sin(x)

# 为 y 坐标生成随机偏移量
offsets = np.random.uniform(-0.5, 0.5, num_points)

# 向 y 坐标添加偏移量
y += offsets

# 绘制点
plt.scatter(x, y, color='blue', s=10)

# 绘制正弦曲线
x_vals = np.linspace(0, 2 * np.pi, 100)
y_vals = np.sin(x_vals)
plt.plot(x_vals, y_vals, color='red')

# 设置 x 轴和 y 轴限值
plt.xlim(0, 2 * np.pi)
plt.ylim(-1.5, 1.5)

# 设置标签和标题
plt.xlabel('x')
plt.ylabel('y')
plt.title('正弦曲线下的随机点')

# 显示绘图
plt.show()

输出

结论

通过利用 Python 的 Matplotlib 库的强大功能,我们成功演示了如何在正弦曲线下绘制随机点。本文重点介绍了 Matplotlib 在创建引人入胜的可视化效果方面的多功能性和灵活性。通过生成随机点及其沿 y 轴的战略性放置,我们可以观察到正弦模式的出现。


相关文章