matplotlib库plot函数
金闪闪小鱼
2025年10月15日 16:22
收录于文集
共7篇

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()