You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Matplotlib绘图的所有属性及默认参数?

获取Matplotlib默认参数的正确方法

首先你得注意:plt.gca().plot([1,2])返回的是Line2D对象的列表,这类对象只负责线条本身的属性(比如颜色、线宽),并不是坐标轴、文本样式等默认参数的存储载体,所以用dir(t)自然拿不到你要的内容。

下面是几种直接通过对象或配置获取默认参数的方法:

1. 从当前坐标轴(Axes)对象获取局部参数

先拿到坐标轴对象:

from matplotlib import pyplot as plt
ax = plt.gca()
_ = ax.plot([1, 2])  # 绘图触发默认配置,返回的线条对象可忽略

然后针对不同元素访问属性:

  • 坐标轴标签的默认大小:ax.xaxis.label.get_fontsize(),或者用ax.xaxis.label.get_properties()获取标签的所有属性(字体、颜色、大小等)
  • 标题的默认属性:ax.title.get_properties()(即使未手动设置标题,也会返回默认配置)
  • 坐标轴刻度的文本大小:ax.xaxis.get_ticklabels()[0].get_fontsize()(取第一个刻度标签查看默认值)

2. 查看Matplotlib全局默认配置

Matplotlib的所有全局默认参数都存在plt.rcParams字典里,直接访问就能拿到:

  • 全局默认字体大小:plt.rcParams['font.size']
  • 坐标轴标签默认大小:plt.rcParams['axes.labelsize']
  • 标题默认大小:plt.rcParams['axes.titlesize']
  • 刻度标签默认大小:plt.rcParams['xtick.labelsize'] 和 plt.rcParams['ytick.labelsize']

如果想批量查看某类参数,可以过滤字典:

# 列出所有和字体、标签、刻度大小相关的默认参数
for key, value in plt.rcParams.items():
    if 'size' in key and ('font' in key or 'label' in key or 'tick' in key):
        print(f"{key}: {value}")

3. 正确检查Matplotlib对象的属性

Matplotlib的对象(Axes、Text、Line2D等)都有一套get_*()方法来获取属性,比直接用dir()更高效:

  • 对任意对象,先过滤出所有get_开头的非私有方法,就能知道能获取哪些属性:
    [attr for attr in dir(ax) if attr.startswith('get_') and not attr.startswith('__')]
    
  • 比如Text类对象(标签、标题都属于这类),可以用get_fontsize()、get_color()、get_fontfamily()等方法直接拿到对应属性。

内容的提问来源于stack exchange,提问作者Edivar Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:20:28