サブプロットでFigureサイズを変更するにはどうすればよいですか?


287

私はこの例をMatplotlibのWebサイトで見つけました。フィギュアのサイズを大きくすることは可能かと思っていました。

私が試した

f.figsize(15,15)

しかし、それは何もしません。

回答:


525

既にFigureオブジェクトを使用している場合:

f.set_figheight(15)
f.set_figwidth(15)

しかし、(表示している例のように).subplots()コマンドを使用して新しい図を作成する場合は、次の方法も使用できます。

f, axs = plt.subplots(2,2,figsize=(15,15))

12
fig.set_size_inches高さと幅を一緒に設定することもできます
Francesco Montesano 2013

1
これは機能しません。高さを好きなように設定できますが、モニターより大きくなることはありません。

2
これはあなたのモニターで何もする必要はありません。pngに出力するとどうなりますか?画面の解像度より大きくなることはないと言っていますか?インチ単位のサイズと、ピクセル単位のサイズを決定するdpiの組み合わせです。
Rutger Kassies 2017

subplots()への呼び出しにfigsizeを含めても機能しないようです。ただし、f.set_figheightの呼び出しは機能します。
Vicki B

figsizeを変更せずにサブプロットサイズ自体を変更することは可能ですか?
Alexis.Rolland

38

または、引数をfigure()使用してオブジェクトを作成し、をfigsize使用add_subplotしてサブプロットを追加します。例えば

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')

簡単な例

このメソッドの利点は、構文がではsubplot()なくの呼び出しに近いことですsubplots()。例えば、サブプロットを使用してサポートしていないようですGridSpecサブプロットの間隔を制御するが、両方subplot()add_subplot()行います。


10
「サイズ」をaxとax2に別々に追加する可能性はありますか?
M.ゴパル

2
私が正しく理解している場合、2つの軸の相対サイズを設定しますか?その場合、私はあなたがこの質問を探していると思います:stackoverflow.com/questions/10388462/…–
aquirdturtle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.