matplotlib画图教程
时间: 2025-02-11 14:28:17 浏览: 48
### Matplotlib 绘图教程
#### 使用 `subplot()` 和 `subplots()` 创建多子图布局
为了创建包含多个图表的图形,可以利用 Pyplot 的 `subplot()` 或者更灵活的 `subplots()` 函数。前者适合于简单的网格排列,而后者允许更加复杂的嵌套结构并提供统一控制整个画布的能力[^1]。
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据准备
x = np.linspace(0, 5, 100)
fig, axs = plt.subplots(2, 2) # 创建一个2×2的子图矩阵
axs[0, 0].plot(x, np.sin(x), 'r') # 子图1:红色正弦曲线
axs[0, 1].plot(x, np.cos(x), 'g') # 子图2:绿色余弦曲线
axs[1, 0].plot(x, x ** 2, 'b') # 子图3:蓝色二次方函数图像
axs[1, 1].plot(x, np.exp(-x)) # 子图4:指数衰减曲线
plt.tight_layout()
plt.show()
```
#### 自定义线条样式与标记符号
通过设置不同的参数来自定义所绘制线条的颜色、宽度以及数据点处显示特定形状作为强调标志。这里列举了一些常见的标记选项用于增强可视化效果[^2]:
- 向上指针三角形 (`marker="^"`)
- 实心圆圈 (`marker="o"`)
- 方块轮廓 (`marker="s"`)
```python
fig, ax = plt.subplots()
data_x = range(5)
data_y = [num**2 for num in data_x]
ax.plot(data_x, data_y, color='blue', linestyle='-', linewidth=2,
marker='o', markersize=8, label='Square Function')
ax.legend(loc='best')
plt.grid(True)
plt.title('Customized Line Plot Example')
plt.xlabel('X Axis Label')
plt.ylabel('Y Axis Label')
plt.show()
```
#### 轴比例调整技巧
当处理不同尺度的数据集时,保持坐标轴的比例一致有助于提高图形解读准确性。可以通过调用 `axis('equal')` 来实现这一点,这会使得单位长度在两个方向上的表示相同。
```python
circle_radius = 1.
theta = np.linspace(0., 2 * np.pi, 100)
a_circle = plt.figure(figsize=(6, 6))
plt.plot(circle_radius * np.cos(theta),
circle_radius * np.sin(theta))
plt.axis('equal') # 设置相同的缩放比例以获得真实的圆形外观
plt.title("A Circle with Equal Axes Scales")
plt.show()
```
阅读全文
相关推荐



















