matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs) 是 Matplotlib 中用于绘制二维图形的主要函数。下面通过详细的参数解释和具体示例来说明其用法。
1. 核心参数 *args
*args 是可变参数,用于传递数据和控制绘图样式。它支持以下三种主要形式:
形式1:仅传入 y 值
python plt.plot([1, 2, 3, 4]) # x 轴自动设为 [0, 1, 2, 3]
作用:自动生成 x 轴坐标(从 0 开始),y 值为输入数据。
等价于:plt.plot(range(len(y)), y)
形式2:传入 x 和 y 值
python x = [1, 2, 3, 4] y = [1, 4, 9, 16] plt.plot(x, y) # 显式指定 x 和 y
作用:直接绘制 (x, y) 点组成的折线。
形式3:传入 x, y 和格式字符串
python plt.plot(x, y, 'ro--') # 红色圆圈标记 + 虚线
格式字符串:由颜色、标记、线型组成(如 'r' 红色,'o' 圆圈,'--' 虚线)。
等价于:
python plt.plot(x, y, color='red', marker='o', linestyle='--')
2. 坐标轴缩放参数 scalex 和 scaley
默认值:True(自动缩放坐标轴以适应数据范围)。
设为 False 时:保持当前坐标轴范围(需手动设置 xlim/ylim)。
示例
python plt.xlim(0, 5) # 固定 x 轴范围 plt.plot(x, y, scalex=False) # 禁止 x 轴自动缩放
3. 数据源参数 data
作用:从 Pandas DataFrame 或字典中直接读取列名数据。
优势:避免重复输入数据变量名。
示例
import pandas as pd
df = pd.DataFrame({'time': [1, 2, 3], 'value': [10, 20, 30]})
plt.plot('time', 'value', data=df) # 等价于 plt.plot(df['time'], df['value'])
4. 样式控制参数 **kwargs
**kwargs 用于精细控制图形样式,分为以下几类:标记样式
marker:标记形状(如 'o' 圆圈、's' 方块)。
markersize / ms:标记大小(如 10)。
markerfacecolor / mfc:标记填充色(如 'yellow')。
markeredgecolor / mec:标记边缘色(如 'black')。
(3) 标签与图例
label:图例标签(需调用 plt.legend() 显示)。
visible:是否显示线条(如 False 隐藏)。
(4) 高级控制
zorder:图层顺序(数值越大越靠上)。
dashes:自定义虚线样式(如 (5, 2) 表示 5 点线长 + 2 点间隔)。
5. 综合示例
import numpy as np
x = np.linspace(0, 2*np.pi, 50)
y = np.sin(x)
plt.plot(
x, y,
color='blue', # 蓝色线条
linestyle='-.', # 点划线
linewidth=2, # 线宽
marker='o', # 圆形标记
markersize=6, # 标记大小
markerfacecolor='red', # 标记填充红色
markeredgecolor='black', # 标记边缘黑色
alpha=0.7, # 透明度
label='sin(x)', # 图例标签
zorder=2 # 图层顺序
)
plt.legend()
plt.title('Customized Plot')
plt.show()