浅谈Python之Matplotlib库
一、基本介绍
Matplotlib 是一个 Python 绘图库,它提供了一个类似于 MATLAB 的绘图框架,使得用户可以轻松地创建高质量的图形。Matplotlib 可以用于绘制多种类型的图表,包括线图、散点图、柱状图、直方图、饼图等。
二、基本介绍和用法
1. 安装 Matplotlib
首先,你需要确保已经安装了 Matplotlib。可以通过 pip 来安装:
pip install matplotlib
2. 基本组件
Matplotlib 的基本组件包括:
- Figure:图形的顶层容器,可以包含多个 Axes(轴)。
- Axes:图形的坐标系,可以是二维或三维的。
- AxesSubplot:Axes 的一个子类,用于二维绘图。
- Axis:表示坐标轴。
- Line2D:表示二维图形中的线。
- Text:表示图形中的文本。
3. 基本用法
3.1 导入 Matplotlib
import matplotlib.pyplot as plt
3.2 绘制简单的线图
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y) # 绘制线图
plt.title('Simple Line Plot') # 设置标题
plt.xlabel('x label') # 设置 x 轴标签
plt.ylabel('y label') # 设置 y 轴标签
plt.show() # 显示图形
3.3 绘制多条线
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 3, 6, 10, 15]
plt.plot(x, y1, label='y = x^2') # 绘制第一条线
plt.plot(x, y2, label='y = x * x') # 绘制第二条线
plt.legend() # 显示图例
plt.show()
3.4 子图
fig, axs = plt.subplots(2, 2) # 创建 2x2 的子图
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Plot 1')
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Plot 2')
axs[1, 0].bar(x, y1)
axs[1, 0].set_title('Bar 1')
axs[1, 1].bar(x, y2)
axs[1, 1].set_title('Bar 2')
plt.tight_layout() # 调整子图间距
plt.show()
3.5 保存图形
plt.plot(x, y)
plt.title('Simple Line Plot')
plt.savefig('line_plot.png') # 保存图形为 PNG 文件
plt.show()
4. 进阶用法
Matplotlib 还支持更多的功能,如:
- 样式和主题:可以通过
plt.style.use()
来改变图形的风格。 - 注解和标记:可以使用
plt.annotate()
和plt.text()
来添加注解和文本。 - 交互式图形:通过
%matplotlib notebook
可以在 Jupyter Notebook 中创建交互式图形。 - 动画:可以使用
matplotlib.animation
模块来创建动画。