2012-05-10 18 views
0

この質問に答えるためにオンラインで多くの投稿と回答が見られました。
ただし、bbox_inches = 'tight'を使用すると凡例が表示されなくなります。プロットの一番上のスペースを削除する方法 - matplotlib

これは私の人物の一人である: enter image description here

私はプロット枠の外に凡例を持っているので、私は唯一の上部と下部の空白を削除したいと思います。

誰も少なくとも一番上の空白を削除する方法を知っていますか?

ありがとうございます!

答えて

1

subplots_adjust()を試しましたか?例えば、この質問に対する@DavePの答えを参照してください。Reduce left and right margins in matplotlib plot

また、同じ質問に@Tian Chuの回答を見てください。

EDIT:これは私の作品:イメージでこれを達成することが可能である場合

import matplotlib.pyplot as plt 
fig=plt.figure() 
ax=fig.add_subplot(111) 
ax.plot([1,2,3],[5,6,7],'gs-') 
plt.subplots_adjust(top=0.99, right=0.99) 
plt.show() 
+0

はい、私はこの答えを見たことがありますが、おそらく私のプロットの半分が消えてしまったので、私は間違った値を使ってしまったでしょう。もう一度やり直してみましょう – pavid

+1

@pavid:@drootangのコメントには、考えられる問題があります: 'subplots_adjust'の引数は、パラメータに割り当てられた値です。 figure size use 'top = 0.95'など –

+0

それは問題だと思う、私は0.05などを使った。 – pavid

1

私は通常、すでに知っているように、それは非常に信頼性の高い動作しないので、bbox_inches = 'tight'機能を使用しません。私はむしろ境界を持つPDFを作成し、外部ツールを使用してそれらをトリミングしたいと思います。 pythonからこのシームレスに行うために、私はここで

os.system('pdfcrop %s %s &> /dev/null &'%(pdf_in, pdf_out)) 

を使用し、pdf_inあなたはmatplotlibのとpdf_outから生成PDFは、あなたの最終的な結果になりますです。

+0

あなたは知っていますか?私は自動画像を生成しようとしています。 – pavid

+0

「画像」はどういう意味ですか?ピクセルベースのフォーマット?戦略は、あなたが外部プログラムを作っている限り、どんな形式でも動作します。 www.imagemagick.orgはそのことを助けるかもしれません... –

+0

@pavid pdfのpdfcropに加えて、PNGをトリミングするのはimagemagickを使ってconvert -trim FOO.pngと同じくらい簡単です。これは、必要に応じてos.system呼び出しを使用して「自動」で処理できます。 – Hooked

関連する問題