1

私はたくさんの異なるプロットを持っていますが、サイズを強く指定する必要があります。1つのファイルごとに1つのプロット。問題は、サイズが大きすぎると、左からサブプロットにいくつかの空きスペースがあり、それをトリミングしたいということです。subplots_adjust小さいサイズのプロットもトリミングされるため、使用できません。またtight、を呼び出すときにオプションを使用できませんsavefig。では、すべてのファイルのインデントを固定して、すべてのプロットを左側に揃えるにはどうすればよいですか?

import sys, os
import matplotlib.pyplot as plt

path = sys.path[0]
sizes = [(12,3,), (4,3,)]
x =  range(20)


for i, size in enumerate(sizes):
    fig = plt.figure(figsize = size, dpi = 80, facecolor='white', edgecolor=None, linewidth=0.0, frameon=True, subplotpars=None)
    ax = fig.add_subplot(111)
    ax.plot(x)
    plt.ylabel ('Some label')

    fig.savefig(os.path.join(path, 'size_'+str(i)+'.png'), dpi=80, facecolor=fig.get_facecolor(), edgecolor=None, papertype=None, format='png' ,transparent=False)

大きいサイズの画像小さいサイズの画像

4

1 に答える 1

1

私はあなたがtight_layout()を使うことができると思います:

import sys, os
import matplotlib.pyplot as plt

path = sys.path[0]
sizes = [(12,3,), (4,3,)]
x =  range(20)


for i, size in enumerate(sizes):
    fig = plt.figure(figsize = size, dpi = 80, facecolor='white', edgecolor=None,linewidth=0.0, frameon=True, subplotpars=None)
    ax = fig.add_subplot(111)
    ax.plot(x)
    plt.ylabel ('Some label')

    plt.tight_layout()

    fig.savefig(os.path.join(path, 'size_'+str(i)+'.png'), dpi=80,facecolor=fig.get_facecolor(), edgecolor=None, papertype=None, format='png',transparent=False)

また、あなたは次のようなものを使うことができます

fig.subplots_adjust(right=0.9, left=0.1, top=0.9, bottom=0.1, wspace=0.2)

の代わりにplt.tight_layout()。お望みならば。


それがあなたが必要としているものではないかどうか教えてください。
于 2012-11-27T10:42:11.013 に答える