web-dev-qa-db-ja.com

Pandasを使用してMatplotlibでYaxisを設定する

Pandas=を使用してI-Pythonノートブックにプロットすると、プロットがいくつかあります。MatplotlibはY軸を決定するため、異なる設定になっており、同じ範囲を使用してそのデータを比較する必要があります。いくつかのバリエーション:(各プロットに制限を適用する必要があると思います..しかし、1つが動作しないので... Matplotlibドキュメントから、ylimを設定する必要があるようですが、計算できませんそうするための構文。

df2250.plot(); plt.ylim((100000,500000)) <<<< if I insert the ; I get int not callable and  if I leave it out I get invalid syntax. anyhow, neither is right...
df2260.plot()
df5.plot()
19
dartdog

Pandas plot()は軸を返します。これを使用してylimを設定できます。

ax1 = df2250.plot()
ax2 = df2260.plot()
ax3 = df5.plot()

ax1.set_ylim(100000,500000)
ax2.set_ylim(100000,500000)
etc...

AxesをPandas plotに渡すこともできます。そのため、同じAxesでプロットするには次のようにします。

ax1 = df2250.plot()
df2260.plot(ax=ax1)
etc...

多くの異なるプロットが必要な場合は、フォアハンドで1つの図内で軸を定義することで、ほとんどの制御が得られるソリューションになる可能性があります。

fig, axs = plt.subplots(1,3,figsize=(10,4), subplot_kw={'ylim': (100000,500000)})

df2260.plot(ax=axs[0])
df2260.plot(ax=axs[1])
etc...
33
Rutger Kassies

これは、2013年にこの回答が受け入れられた後に追加された機能だと思います。 DataFrame.plot()は、y軸の制限を設定するylimパラメーターを公開するようになりました。

df.plot(ylim=(0,200))

詳細については pandas documentation をご覧ください。

22
skeller88