matplotlib的
plt 模块学习
为帮助你快速掌握 matplotlib
的 plt
模块,我将创建一系列从简单到进阶的作图例程。每个例程都会包含详细的注释,帮助你理解 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
的核心功能,理解如何创建美观、专业的图表。