📈

[matplotlib]subplots_adjustのデフォルト値は?

2022/01/25に公開

matplotlibのsubplots_adjustのデフォルト値がよくわからなくなったので調べてみました。

日本語の情報(ググって上位に来るもの)だと

あたりの記事を読むと、

left = 0.125  # the left side of the subplots of the figure
right = 0.9   # the right side of the subplots of the figure
bottom = 0.1  # the bottom of the subplots of the figure
top = 0.9     # the top of the subplots of the figure
wspace = 0.2  # the amount of width reserved for space between subplots,
              # expressed as a fraction of the average axis width
hspace = 0.2  # the amount of height reserved for space between subplots,
              # expressed as a fraction of the average axis height

であると 公式ドキュメントに書いてあるから と紹介されています。

確かに、公式ドキュメントも確かにそうなっていました。 ただし、v3.2.2 まででした。

v3.3.0 [1]以降は、

Unset parameters are left unmodified; initial values are given by rcParams["figure.subplot.[name]"].

に変更されており、初期値は、rcParamsのfigure.subplot.[name] になるそうです。

今度は、matplotlibrcのデフォルト値(つまりユーザー側とかで設定していない場合)を探してみると、matplotlibrc.template@v3.3.0

## The figure subplot parameters.  All dimensions are a fraction of the figure width and height.
#figure.subplot.left:   0.125  # the left side of the subplots of the figure
#figure.subplot.right:  0.9    # the right side of the subplots of the figure
#figure.subplot.bottom: 0.11   # the bottom of the subplots of the figure
#figure.subplot.top:    0.88   # the top of the subplots of the figure
#figure.subplot.wspace: 0.2    # the amount of width reserved for space between subplots,
                               # expressed as a fraction of the average axis width
#figure.subplot.hspace: 0.2    # the amount of height reserved for space between subplots,
                               # expressed as a fraction of the average axis height

となっており、 bottomとtopの値が、先ほどの値と異なります

(実装がわかっていないっぽいので(要確認)、v3.3.0以前もドキュメントが間違っていただけで、bottomは0.11で、topは0.88だった可能性があります。)

脚注
  1. v3.3.0のリリースは、2020年7月17日でした。 https://github.com/matplotlib/matplotlib/releases/tag/v3.3.0 ↩︎

Discussion