下面我将从最简单的例子开始,逐步展示如何使用 .plot() 创建不同类型的图表,并解释其常用参数。

基础入门:绘制折线图
这是 .plot() 最基本、最直接的使用方式。
场景:绘制一组简单的数据点,观察其趋势。
# 1. 导入必要的库 import matplotlib.pyplot as plt import numpy as np # 使用 numpy 生成数据,非常方便 # 2. 准备数据 x = np.linspace(0, 10, 100) # 从 0 到 10,生成 100 个均匀分布的点 y = np.sin(x) # 计算 x 的正弦值,作为 y 坐标 # 3. 绘制图形 plt.plot(x, y) # 最核心的一行代码:传入 x 和 y 数据 # 4. 显示图形 plt.show()
代码解释:
import matplotlib.pyplot as plt: 这是 Matplotlib 的标准导入惯例,plt是我们后续所有操作的简称。x = np.linspace(...): 创建了一个包含 100 个点的数组,这些点在 0 到 10 之间均匀分布。y = np.sin(x): 对x数组中的每一个点计算正弦值,得到y数组。plt.plot(x, y): Matplotlib 会自动将x和y数组中的点连接起来,形成一条平滑的曲线(因为点足够密集)。plt.show(): 将图形在窗口中显示出来,在 Jupyter Notebook 或类似环境中,这一步通常可以省略,图形会自动显示。
添加图表元素,使其更具可读性
一个完整的图表通常需要标题、坐标轴标签和图例。

import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = np.linspace(0, 10, 100)
y_sin = np.sin(x)
y_cos = np.cos(x)
# 创建图形和坐标轴
plt.figure(figsize=(8, 5)) # 可选:设置图形大小
# 绘制两条曲线
plt.plot(x, y_sin, label='Sine Wave') # 添加 label 参数,用于图例
plt.plot(x, y_cos, label='Cosine Wave')
# 添加图表元素"Sine and Cosine Waves") # 添加标题
plt.xlabel("X-axis (radians)") # 添加 X 轴标签
plt.ylabel("Y-axis (value)") # 添加 Y 轴标签
plt.legend() # 显示图例,会自动使用 label 的内容
plt.grid(True) # 显示网格线
# 显示图形
plt.show()
新增功能:
plt.figure(figsize=(8, 5)): 创建一个新的图形窗口,并设置其大小为 8x5 英寸。label='...': 为每条线指定一个名称,这样plt.legend()就能识别它们。plt.title(),plt.xlabel(),plt.ylabel(): 分别设置图表标题、X轴和Y轴的标签。plt.legend(): 根据之前设置的label显示图例。plt.grid(True): 添加背景网格,方便读数。
绘制不同类型的图表(通过修改参数)
.plot() 函数非常灵活,通过修改参数可以绘制不同类型的图表。
a) 散点图
只需要将 plot 函数的第一个参数改为 'o',表示用圆形标记点。
import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = np.random.rand(50) # 生成 50 个 0 到 1 之间的随机数
y = np.random.rand(50)
# 绘制散点图
plt.plot(x, y, 'o') # 'o' 表示用圆形点来绘制
和标签"Scatter Plot")
plt.xlabel("X values")
plt.ylabel("Y values")
plt.show()
b) 柱状图
使用 bar 函数(注意,这里是 plt.bar(),而不是 plt.plot(),但它们都属于 pyplot 的绘图家族)。

import matplotlib.pyplot as plt
# 准备数据
categories = ['A', 'B', 'C', 'D']
values = [15, 30, 45, 10]
# 绘制柱状图
plt.bar(categories, values)
和标签"Bar Chart")
plt.xlabel("Category")
plt.ylabel("Value")
plt.show()
c) 直方图
用于展示数据的分布情况,使用 hist 函数。
import matplotlib.pyplot as plt
import numpy as np
# 准备数据:生成 1000 个符合标准正态分布的随机数
data = np.random.randn(1000)
# 绘制直方图
plt.hist(data, bins=30) # bins 参数控制将数据分成多少个区间
和标签"Histogram of a Normal Distribution")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
.plot() 的常用参数详解
| 参数 | 描述 | 示例 |
|---|---|---|
x, y |
数据,可以是列表、NumPy 数组等。 | plt.plot(x, y) |
fmt |
格式化字符串,可以同时设置颜色、标记点和线型。 | plt.plot(x, y, 'ro-') (红色,圆形点,实线) |
color 或 c |
设置线条或标记点的颜色,可以是颜色名称、十六进制码等。 | plt.plot(x, y, color='green') |
linestyle 或 ls |
设置线型。, , , 。 | plt.plot(x, y, linestyle='dashed') |
linewidth 或 lw |
设置线条宽度。 | plt.plot(x, y, linewidth=2.5) |
marker |
设置标记点的样式。'o', 's', '^', 。 |
plt.plot(x, y, marker='s') |
markersize 或 ms |
设置标记点的大小。 | plt.plot(x, y, markersize=8) |
alpha |
设置透明度(0 到 1 之间)。 | plt.plot(x, y, alpha=0.5) |
label |
为数据序列设置标签,用于图例。 | plt.plot(x, y, label='My Data') |
综合示例:使用参数自定义样式
import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = np.arange(0, 10, 1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
y = x ** 2
# 使用 fmt 字符串 'g^--':
# g: 绿色
# ^: 三角形标记点
# --: 虚线
plt.plot(x, y, 'g^--',
linewidth=2,
markersize=10,
label='y = x²')
# 添加图表元素"Customized Plot with Parameters")
plt.xlabel("X")
plt.ylabel("Y = X²")
plt.legend()
plt.grid(True)
plt.show()
在一个图中绘制多个子图
有时候我们需要在一个大窗口中放置多个小图表,这可以使用 plt.subplot() 实现。
import matplotlib.pyplot as plt import numpy as np # 准备数据 x = np.linspace(0, 10, 100) # 创建一个 2x1 的子图布局 (2行, 1列) # 激活第一个子图 (位于第1行第1列) plt.subplot(2, 1, 1) plt.plot(x, np.sin(x))'Sine Wave') plt.grid(True) # 激活第二个子图 (位于第2行第1列) plt.subplot(2, 1, 2) plt.plot(x, np.cos(x))'Cosine Wave') plt.grid(True) # 调整子图间距,防止重叠 plt.tight_layout() plt.show()
代码解释:
plt.subplot(行数, 列数, 索引):plt.subplot(2, 1, 1)表示创建一个 2 行 1 列的网格,并选择第一个(左上角)的子图进行操作。- 之后所有的
plt.plot(),plt.title()等命令都会作用于当前被激活的子图。 plt.tight_layout(): 一个非常有用的函数,它会自动调整子图参数,使之填充整个图像区域,避免标签等元素重叠。
.plot() 是 Matplotlib 的基石,掌握它的使用是数据可视化的第一步,核心流程可以总结为:
- 准备数据 (通常是 NumPy 数组或列表)。
- 调用
plt.plot(x, y, ...)绘制基本图形。 - 使用
plt.title(),plt.xlabel(),plt.ylabel()等函数 添加标签和标题。 - 使用
plt.legend()显示图例。 - 调用
plt.show()显示最终图形。
希望这些例子能帮助你理解和使用 Python 的 .plot() 函数!
