Skip to content

Matplotlib - 简单图表

本章演示如何使用 Matplotlib 的 pyplot 接口(一种方便快速可视化的方式)创建基本的折线图。

  1. 导入库: 我们需要 matplotlib.pyplot(用于绘图函数)和 numpy(用于数值计算和创建数据数组)这两个库。
import matplotlib.pyplot as plt
import numpy as np
  1. 准备数据: 我们需要用于 x 轴和 y 轴的数据。让我们创建一个角度数组并计算它们的正弦值。
# 生成 x 值 (从 0 到 2*pi 的角度)
# 对于浮点步长,更推荐使用 np.linspace 而非 np.arange
x = np.linspace(0, 2 * np.pi, 100) # 在 0 和 2*pi 之间生成 100 个点
# 计算 y 值 (x 的正弦值)
y = np.sin(x)
  1. 创建图表: 使用 plt.plot() 函数绘制 y 关于 x 的图。
plt.plot(x, y)
  1. 自定义图表(可选但推荐): 添加标签和标题,让图表信息更丰富。
plt.xlabel("Angle [radians]") # 设置 x 轴标签
plt.ylabel("Sine Value") # 设置 y 轴标签
plt.title("Simple Sine Wave Plot") # 设置图表标题
plt.grid(True) # 添加网格,更容易阅读
  1. 显示图表: 使用 plt.show() 打开 Matplotlib 查看器窗口并显示生成的图表。在诸如 Jupyter Notebooks 等能自动处理显示的环境外部运行脚本时,这一步是必需的。
plt.show()
import matplotlib.pyplot as plt
import numpy as np
# 1. 准备数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
# 2. 创建 Figure 并绘图
# 可选:显式创建 figure,以便后续可能进行更多控制
plt.figure(figsize=(8, 5))
plt.plot(x, y, label='sin(x)', color='blue', linestyle='-')
# 3. 自定义
plt.xlabel("Angle [radians]")
plt.ylabel("Sine Value")
plt.title("Simple Sine Wave Plot")
plt.grid(True)
plt.legend() # 显示在 plot() 中定义的标签
# 4. 显示
plt.show()

执行此脚本将打开一个窗口,显示带有坐标轴标签、标题、网格和图例的标准正弦波图表。

在使用 Jupyter Notebook 或类似环境(如 JupyterLab、Google Colab、VS Code Notebooks)时,图表可以直接显示在 notebook 的输出单元格中。

  1. 导入库: 同上。
import matplotlib.pyplot as plt
import numpy as np
  1. Magic 命令(可选但常用): %matplotlib inline Magic 命令告诉 Jupyter 内核将 Matplotlib 图表渲染为静态图像,并直接嵌入到生成它们的代码单元格下方。这在现代 Jupyter 设置中通常是默认行为,但显式包含它可确保一致性。
%matplotlib inline
  1. 准备数据: 同上。
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
  1. 绘图并自定义: 像之前一样使用 plt 函数。使用 %matplotlib inline 时,您通常不需要调用 plt.show()。当单元格执行完毕时,图表会自动出现。
plt.figure(figsize=(8, 5))
plt.plot(x, y, label='sin(x)', color='red', linestyle='--')
plt.xlabel("Angle [radians]")
plt.ylabel("Sine Value")
plt.title("Sine Wave in Jupyter")
plt.grid(True)
plt.legend()
# 使用 %matplotlib inline 时,此处不需要 plt.show()

在 Jupyter Notebook 中运行此单元格将在单元格下方直接显示正弦波图表。