23.1 Matplotlib绘图基础:图、坐标轴与基本图形
Matplotlib绘图基础教程:图、坐标轴与基本图形
本教程详细讲解Matplotlib绘图基础,包括图、坐标轴和基本图形的创建与使用,通过简单示例帮助Python初学者轻松入门数据可视化。
Matplotlib绘图基础:图、坐标轴与基本图形
引言
Matplotlib是Python中一个强大的数据可视化库,广泛用于科学计算和数据分析。本教程专为初学者设计,将逐步介绍Matplotlib的基础概念:图(Figure)、坐标轴(Axes)和基本图形(如线图、散点图等)。通过动手实践,你不仅能理解这些核心组件,还能开始绘制自己的图表。
安装和导入Matplotlib
在开始之前,确保已安装Matplotlib。你可以使用pip命令轻松安装:
pip install matplotlib
安装完成后,在Python脚本或交互式环境中导入Matplotlib的常用模块pyplot:
import matplotlib.pyplot as plt
plt是标准别名,后续代码中将使用它来调用绘图函数。
图(Figure)
在Matplotlib中,图(Figure) 是整个绘图的容器,类似于一张画布,可以容纳一个或多个子图。创建图是绘图的第一步。
如何创建图?
使用plt.figure()函数创建一个新的图。这个函数返回一个Figure对象,你可以用它来添加坐标轴或调整图的属性。
fig = plt.figure() # 创建一个新的图
你可以指定图的大小,例如:fig = plt.figure(figsize=(8, 6)),设置宽度为8英寸、高度为6英寸。
坐标轴(Axes)
坐标轴(Axes) 是图中的一个部分,负责实际的绘图操作。一个图可以包含多个坐标轴,例如在子图布局中。坐标轴包含了x轴和y轴,以及绘图区域。
如何添加坐标轴?
使用add_subplot()方法在图中添加坐标轴。这个方法常用参数是三个整数(如111),表示网格的行数、列数和子图索引。
ax = fig.add_subplot(111) # 在图中添加一个坐标轴
# 111表示1行、1列、第1个子图,所以创建单个坐标轴
如果你想要多个子图,可以修改参数,例如add_subplot(2, 2, 1)表示2行2列网格中的第一个子图。
基本图形
在坐标轴上,你可以绘制各种类型的图形。以下是几个基本图形的介绍和示例。
线图(Line Plot)
线图用于展示数据点的趋势,通过连接点来形成线条。示例:绘制正弦曲线。
import numpy as np # NumPy常用于生成数据
x = np.linspace(0, 10, 100) # 生成0到10之间的100个点
y = np.sin(x) # 计算正弦值
ax.plot(x, y) # 绘制线图
plt.show() # 显示图形
散点图(Scatter Plot)
散点图用于展示两个变量之间的关系,每个点表示一个数据项。示例:绘制随机散点。
x = np.random.rand(50) # 生成50个随机x值
y = np.random.rand(50) # 生成50个随机y值
ax.scatter(x, y) # 绘制散点图
plt.show()
柱状图(Bar Plot)
柱状图用于比较类别数据,每个柱子的高度表示数值。示例:展示分类数据。
labels = ['A', 'B', 'C', 'D'] # 类别标签
values = [10, 20, 15, 30] # 对应的数值
ax.bar(labels, values) # 绘制柱状图
plt.show()
完整示例
下面是一个完整的代码示例,整合了所有基础步骤:创建图、添加坐标轴,并绘制一个线图。
import matplotlib.pyplot as plt
import numpy as np
# 步骤1:创建图
fig = plt.figure()
# 步骤2:添加坐标轴
ax = fig.add_subplot(111)
# 步骤3:生成数据
x = np.linspace(0, 2*np.pi, 100) # 0到2π的100个点
y = np.sin(x) # 正弦函数值
# 步骤4:绘制线图
ax.plot(x, y)
# 可选:添加标题和轴标签,使图形更易读
ax.set_title('简单正弦曲线')
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
# 步骤5:显示图形
plt.show()
运行此代码后,你应该看到一个显示正弦曲线的窗口。你可以尝试修改代码,例如改变数据或绘制不同类型的图形。
总结与练习建议
本教程涵盖了Matplotlib绘图的核心基础:
- 图:作为绘图容器,使用
plt.figure()创建。 - 坐标轴:负责具体绘图,使用
add_subplot()添加。 - 基本图形:如线图、散点图和柱状图,通过方法如
plot()、scatter()和bar()绘制。
为了巩固学习,建议练习以下内容:
- 修改完整示例中的数据和参数,绘制自己的曲线或散点。
- 创建一个有多个子图的图(例如,使用
add_subplot(2, 1, 1)和add_subplot(2, 1, 2))。 - 尝试添加更多图形元素,如颜色、线条样式或图例。
Matplotlib功能丰富,还有更多高级特性如3D绘图、自定义样式等,可以后续探索。祝你学习愉快,快速掌握数据可视化!