当前位置:首页>python>python数据可视化技巧的100个练习 -- 3. 使用 Matplotlib 绘制正弦波

python数据可视化技巧的100个练习 -- 3. 使用 Matplotlib 绘制正弦波

  • 2026-09-08 22:55:38
python数据可视化技巧的100个练习 -- 3. 使用 Matplotlib 绘制正弦波
重要性★★★★☆
难度★★☆☆☆
当地的一个气象站希望可视化一天中的温度波动。
他们要求你创建一个正弦波图,以表示典型的日常温度模式。
你的任务是使用 numpy 生成一个正弦波,然后使用 matplotlib 进行绘制。
x 轴应表示一天中的 24 小时,y 轴应表示摄氏温度。
正弦波的振幅应为 5°C,并且围绕 20°C 居中。
请在代码中创建输入数据,并生成一个清晰且带有标签的图表。
确保包含适当的标题和轴标签。

【数据生成代码示例】

import numpy as npx = np.linspace(0, 24, 100)y = 5 * np.sin(2 * np.pi * x / 24) + 20

【图表答案】

【代码答案】

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 24, 100)y = 5 * np.sin(2 * np.pi * x / 24) + 20plt.figure(figsize=(10, 6))plt.plot(x, y)plt.title('Daily Temperature Fluctuation')plt.xlabel('Time (hours)')plt.ylabel('Temperature (°C)')plt.grid(True)plt.xticks(np.arange(0, 25, 4))plt.ylim(10, 30)plt.show()
这段代码展示了如何使用 Python 中的 numpy 和 matplotlib 创建正弦波图。
让我们逐步分析代码并详细解释每一部分:
导入必要的库:
numpy(别名为 np):用于数值运算和创建数组。
matplotlib.pyplot(别名为 plt):用于创建图表和可视化。
创建输入数据:
np.linspace(0, 24, 100):此函数在 0 到 24 之间生成 100 个均匀间隔的点,表示一天中的小时数。
正弦波公式:5 * np.sin(2 * np.pi * x / 24) + 20
5:正弦波的振幅(温度变化)
np.sin():numpy 中的正弦函数
2 * np.pi * x / 24:调整正弦波使其在 24 小时内完成一个周期
20:将正弦波垂直移动,使其围绕 20°C 居中
创建图表:
plt.figure(figsize=(10, 6)):设置图表的大小
plt.plot(x, y):绘制数据点
plt.title():为图表添加标题
plt.xlabel() 和 plt.ylabel():标记 x 轴和 y 轴
plt.grid(True):为图表添加网格,以便更好地阅读
plt.xticks(np.arange(0, 25, 4)):将 x 轴刻度设置为每 4 小时一个间隔
plt.ylim(10, 30):将 y 轴范围设置为 10°C 到 30°C
plt.show():显示图表
这段代码有效地使用正弦波可视化了日常温度波动。
生成的图表显示了 24 小时内温度的变化,峰值出现在中点(12 小时),低谷出现在一天的开始和结束。
这种表示是一天中温度变化的简化模型,可用于理解气象数据中的总体模式。

【小知识】

  • 正弦波在许多自然现象中都是基础性的,包括声波、光波和交流电。
  • 在气象学中,尽管日常温度模式通常用正弦波近似表示,但实际的温度波动通常由于云层覆盖、降水和风等因素而更为复杂。
  • Matplotlib 是 Python 中最受欢迎的绘图库之一,它提供了一个类似 MATLAB 的界面,用于创建各种静态、动态和交互式可视化。
  • 在这个例子中使用 numpy 展示了它在高效处理数学运算方面的强大功能,尤其是在处理大量数据数组时。
  • 在更高级的气象建模中,傅里叶分析(涉及将信号分解为正弦和余弦分量)通常用于分析和预测更长时间段内的温度模式。

最新文章

随机文章