2017-10-26 7 views
0

私が作成しようとしている複数のPDFドキュメントの各ページの左上隅にsuptitleを配置したいと思いますが、試してみるとやっていないようです聞いてください。以下のスクリプトは、上と中央にsuptitleを生成します。不思議なMatplotlibでのSuptitleアラインメントの問題

import datetime 
import numpy as np 
from matplotlib.backends.backend_pdf import PdfPages 
import matplotlib.pyplot as plt 

pdf = PdfPages('TestPDF.pdf') 

Countries = ['Argentina','Australia'] 

for country in Countries: 
    fig = plt.figure(figsize=(4, 5)) 
    fig.set_size_inches([10,7]) 
    plt.suptitle(country, horizontalalignment='left', verticalalignment='top', fontsize = 15) 
    x= 1000 
    plt.plot(x, x*x, 'ko') 
    pdf.savefig() 
    plt.close(fig) 

pdf.close() 

:私は私が間違っているのかを把握することはできません

verticalalignment='bottom' 

だけsuptitle高いシフトし、私はそれが揃えていることを思わせる、(少しページの先頭オフ)ページの端とは異なる境界から外れていますか? https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.suptitle.htmlから

答えて

4

この図を中心にタイトルを追加します。

kwargsはmatplotlib.text.Textプロパティです。図形座標を使用して、デフォルトは次のとおり

X:0.5

The x location of the text in figure coords 

は、Y:0.98

あなたは、xとyのための異なる値を選択することによって、図座標でsuptitleの位置を移動させることができます。 例えば、

plt.suptitle(country, x=0.1, y=.95, horizontalalignment='left', verticalalignment='top', fontsize = 15)

は、左上隅にsuptitleを配置します。

キーワードたHorizo​​ntalAlignmentとビット異なる仕事VerticalAlignmentを(例えばhttps://matplotlib.org/users/text_props.html参照)

たHorizo​​ntalAlignmentコントロールのテキストのX位置引数は、左、中央、またはテキストバウンディングボックスの右側を示しているかどうか。

verticalalignmentは、テキストのy位置引数がテキスト境界ボックスの下部、中央、または上部を示すかどうかを制御します。

+0

ありがとうございます - これは動作しています。だから私は間違って元のパラメータを理解していたと思う - haとvaはsuptitleがある座標が与えられた場合、アラインメントを行いますが、実際にレイアウト上の一般的な位置を設定するにはxとyが必要ですか? –

+0

はい、正確です。私は答えのキーワードについてもう少し詳しく述べました。 – jdamp

関連する問題