0

次の例のを使用して、 2つの極輪郭サブプロットを作成しています。PDFとして作成する場合、figsizeを変更して削除したい空白がたくさんあります。

通常、figsizeを変更する方法は知っていますが、このコード例のどこに配置するかがわかりません。ガイダンスやヒントをいただければ幸いです。

どうもありがとう!

import numpy as np
import matplotlib.pyplot as plt

#-- Generate Data -----------------------------------------
# Using linspace so that the endpoint of 360 is included...
azimuths = np.radians(np.linspace(0, 360, 20))
zeniths = np.arange(0, 70, 10)

r, theta = np.meshgrid(zeniths, azimuths)
values = np.random.random((azimuths.size, zeniths.size))

#-- Plot... ------------------------------------------------
fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.contourf(theta, r, values)

plt.show()
4

2 に答える 2

1

plt.figsize(x,y)コードの先頭に置くだけで簡単に機能します。plt.figsizeは、現在のプロットだけでなく、将来のすべてのプロットのサイズを変更します。

しかし、あなたの問題はあなたが思っていることではないと思います。オプションを変更しない限り、生成されたPDFにはかなりの空白が含まれる傾向があります。普段使っています

plt.savefig( 'name.pdf', bbox_inches='tight', pad_inches=0 )

これにより、空白ができるだけ少なくなります。bbox_inches ='tight'は、バウンディングボックスをできるだけ小さくしようとしますが、pad_inchesは、パディングする必要のある空白のインチ数を設定します。私の場合、フィギュアを使用しているものにパディングを追加するので、余分なパディングはまったくありません。

于 2013-03-08T19:05:03.167 に答える
1

これを行う別の方法は、へfigsizeの呼び出しでkwargを使用することplt.subplotsです。

fig, ax = plt.subplots(figsize=(6,6), subplot_kw=dict(projection='polar'))

ちなみに、これらの値はインチ単位です。

于 2013-03-08T19:30:28.863 に答える