2016-09-05 9 views
1

タイトルから非常に遠いプロット(グラフ)を生成するmatplotlibに問題があります。私のコードは次のとおりです。タイトルとプロットmatplotlibの間の巨大なスペース

df = pandas.read_csv(csvpath, delimiter=',', 
        index_col=0, 
        parse_dates=[0], dayfirst=True, 
        names=['Date','test1']) 

df.plot(subplots=True, marker='.',markersize=8, title ="test", fontsize = 10, color=['b','g','g'], figsize=(8, 22)) 

imagepath = 'capture.png' 

plt.savefig(imagepath) 

生成されたグラフの一例は次のとおりです。

enter image description here

なぜこれが起こっているすべてのアイデア?どうもありがとう。

+0

この問題を再現するには[MCVE](// stackoverflow.com/help/mcve)を提供できますか? – tom

+0

ここに何が欠けているか分かりません。サンプル.csvが必要ですか?ありがとうございました。 – Gonzalo

答えて

2

から返された3 axisオブジェクトの1つからfigureオブジェクトを取得して、タイトルの位置を調整できます。 fig.tight_layoutを使用すると余分な空白は削除されますが、既知の問題は、トッププロット内にFigureのタイトルも設定することです。ただし、以下の最後の行を使用して修正することができます。

ax = df.plot(subplots=True, marker='.', markersize=8, 
      title ="test", fontsize = 10, color=['b','g','g'], 
      figsize=(8, 22))[0] 
fig = ax.get_figure() 
fig.tight_layout() 
fig.subplots_adjust(top=0.95) 
+0

あなたのご意見ありがとうございます。試してみましょう! – Gonzalo

+0

回答と説明をいただきありがとうございます!ただ1つの質問ですが、どうして斧の最後に[0]を使用しますか?ありがとうございました。 – Gonzalo

+0

'plot'関数は軸の配列を返します。この場合は3軸です。 '[0]'を使うと最初のものが選択されます。 – James

関連する問題