最初に従うべきいくつかのセットアップコード:
import numpy as np
import matplotlib.pyplot as plt
figure, (picture, intensity) = plt.subplots(nrows=2, figsize=(15, 3))
figure.set_dpi(80)
picture.imshow(np.random.uniform(size=(5, 50)))
intensity.plot(np.random.random(size=641))
への呼び出しに注意してくださいplt.subplots
( s
at end が重要です。 のない別の関数がありますs
) には、matplotlib 1.1 以降が必要です。ただし、元の例のセットアップも同様に機能します。また、軸は 640 ではなく 700 にスケーリングされることに注意してください。これは、matplotlib が 700 で目盛りを描画することを好み、余分な空白がそれほど重要ではないと判断するためです。
編集:figsize
パラメーター、dpi
設定、およびpicture
軸は元の問題とは何の関係もないことを指摘したかっただけですが、元の例に合わせて追加しました。
クリスが言及しているように、あなたは電話することができます
intensity.set_xlim((0, 640))
代わりに、キーワード引数を渡して、目的のパラメーターのみを微調整することができます。
intensity.set_xlim(right=640)
厳密な軸の制限が必要であることがわかっているが、手動で設定したくない場合は、プロットされたデータに基づいて、軸オブジェクトを計算できます。
intensity.autoscale(tight=True)
x
または、軸のみをスケーリングする場合は、次のようにします。
intensity.autoscale(axis='x', tight=True)
注記autoscale
は、データ制限が変更された場合 (たとえば、680 点を持つ別のデータ セットをプロットした場合) に再調整されるため、特別です。
margins
または、次の方法を使用できます。
intensity.margins(0)
これにより、軸と軸の両方 の制限がデータ制限に設定され、指定されたパディングが追加されます。x
y
y
intensity.margins(0, 0.1)
y
これにより、データ間隔の 10% に等しい間隔が追加されます。これらの関数はすべて目的どおりに機能しますが、異なる呼び出しシグネチャ (および動作) はさまざまな状況で役立ちます。
編集set_xlim
:クリスの提案に基づいてキーワード引数を修正しました。