matplotlibplt 模块学习

为帮助你快速掌握 matplotlibplt 模块,我将创建一系列从简单到进阶的作图例程。每个例程都会包含详细的注释,帮助你理解 plt 的常用方法和经典作图技巧。

1. 基础折线图(Line Plot)

这是最基础的折线图,展示如何绘制数据、添加标题和坐标标签。

import matplotlib.pyplot as plt

# 示例数据
x_data = [0, 1, 2, 3, 4]
y_data = [10, 20, 25, 30, 40]

# 创建折线图
plt.plot(x_data, y_data, marker='o')  # 'marker' 参数设置数据点的样式

# 添加标题
plt.title('Simple Line Plot')

# 设置x轴和y轴标签
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

# 显示图表
plt.show()

2. 添加网格线和颜色(Grid and Color Customization)

在这个例子中,展示如何自定义线条颜色和添加网格线。

import matplotlib.pyplot as plt

# 示例数据
x_data = [0, 1, 2, 3, 4]
y_data = [10, 20, 25, 30, 40]

# 自定义颜色和样式
plt.plot(x_data, y_data, color='green', linestyle='--', marker='o')  # 设置线条颜色和样式

# 添加网格线
plt.grid(True)  # 启用网格线,方便观察数据

# 添加标题和标签
plt.title('Line Plot with Grid and Custom Color')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

plt.show()

3. 散点图(Scatter Plot)

使用散点图显示数据的分布情况,适合数据点较为离散时的可视化。

import matplotlib.pyplot as plt

# 示例数据
x_data = [0, 1, 2, 3, 4]
y_data = [5, 15, 25, 35, 45]

# 创建散点图
plt.scatter(x_data, y_data, color='blue', marker='x')  # 使用 'scatter' 函数绘制散点图

# 添加标题和标签
plt.title('Scatter Plot Example')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

plt.show()

4. 柱状图(Bar Plot)

柱状图常用于展示分类数据。

import matplotlib.pyplot as plt

# 示例数据
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 5, 9]

# 创建柱状图
plt.bar(categories, values, color='orange')  # 使用 'bar' 函数绘制柱状图

# 添加标题和标签
plt.title('Bar Plot Example')
plt.xlabel('Category')
plt.ylabel('Value')

plt.show()

5. 子图(Subplots)

当你需要在同一个窗口显示多个图表时,subplots 非常有用。

import matplotlib.pyplot as plt

# 创建 1x2 子图
fig, ax = plt.subplots(1, 2, figsize=(10, 5))  # 创建 1 行 2 列的图表,figsize 设置图表大小

# 第一个子图
x_data = [0, 1, 2, 3, 4]
y_data = [10, 20, 25, 30, 40]
ax[0].plot(x_data, y_data, color='green', marker='o')
ax[0].set_title('Line Plot')

# 第二个子图
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 5, 9]
ax[1].bar(categories, values, color='orange')
ax[1].set_title('Bar Plot')

# 显示图表
plt.tight_layout()  # 自动调整子图的间距
plt.show()

6. 饼图(Pie Chart)

饼图适合展示各部分占总量的比例。

import matplotlib.pyplot as plt

# 示例数据
labels = ['A', 'B', 'C', 'D']
sizes = [20, 30, 25, 25]

# 创建饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)  # 'autopct' 显示百分比,'startangle' 设置起始角度

# 保持饼图为圆形
plt.axis('equal')

# 添加标题
plt.title('Pie Chart Example')

plt.show()

7. 热力图(Heatmap)

热力图用于展示矩阵数据的强度变化。

import matplotlib.pyplot as plt
import numpy as np

# 生成示例矩阵数据
data = np.random.rand(5, 5)

# 创建热力图
plt.imshow(data, cmap='hot', interpolation='nearest')  # 'cmap' 设置颜色映射,'interpolation' 控制插值方式

# 添加标题
plt.title('Heatmap Example')

# 显示颜色条
plt.colorbar()

plt.show()

8. 带有误差条的折线图(Line Plot with Error Bars)

误差条用于显示数据的误差范围或不确定性。

import matplotlib.pyplot as plt
import numpy as np

# 示例数据
x_data = np.arange(0, 10, 1)
y_data = np.sin(x_data)
y_err = 0.2  # 设置每个数据点的误差范围

# 创建带误差条的折线图
plt.errorbar(x_data, y_data, yerr=y_err, fmt='-o', capsize=5)  # 'capsize' 设置误差条末端的横线大小

# 添加标题和标签
plt.title('Line Plot with Error Bars')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')

plt.show()

总结:

  • 基础折线图:掌握基本的 plot 绘图方法。
  • 网格线和颜色:自定义图表的视觉效果。
  • 散点图:适合离散数据的展示。
  • 柱状图:用于展示分类数据。
  • 子图:在一个图表窗口中绘制多个图形。
  • 饼图:展示组成比例。
  • 热力图:可视化矩阵数据的变化。
  • 误差条:显示数据的不确定性。

通过这些例程,你可以逐步掌握 matplotlib 的核心功能,理解如何创建美观、专业的图表。