python type_error ai_generated true

TypeError: 'figsize'是<class 'matplotlib.figure.Figure'>的无效关键字参数

TypeError: 'figsize' is an invalid keyword argument for <class 'matplotlib.figure.Figure'>

ID: python/matplotlib-figure-size-error

其他格式: JSON · Markdown 中文 · English
80%修复率
84%置信度
0证据数
2024-01-25首次发现

版本兼容性

版本状态引入弃用备注
3.7 active
3.8 active

根因分析

将figsize直接传递给plt.figure()是正确的,但如果用户错误地将其传递给子图函数如plt.subplot()或plt.subplots(),则会引发TypeError,因为这些函数不接受figsize。

English

Passing figsize directly to plt.figure() is correct, but if user mistakenly passes it to a subplot function like plt.subplot() or plt.subplots(), it raises a TypeError because those functions don't accept figsize.

generic

解决方案

  1. 95% 成功率 Pass figsize only to plt.figure() or plt.subplots()
    fig, ax = plt.subplots(figsize=(8,6))
  2. 90% 成功率 Use set_size_inches() on the figure object after creation
    fig = plt.figure(); fig.set_size_inches(8,6)

无效尝试

常见但无效的做法:

  1. Using figsize as a positional argument 80% 失败

    figsize must be a keyword argument; positional passing will be misinterpreted.

  2. Setting plt.rcParams['figure.figsize'] before creating figure 70% 失败

    This changes default figure size, but the error is about passing figsize to wrong function.