contrôle de taille matplotlib savefig ()

J'ai écrit une fonction qui a eu un dataframe généré à partir de Pandas et de produire une heatmap:

def drawHeatMap(df, city, province, collector, classtype, color, titleposy):
    try:
        thePlot = pl.matshow(df.values, cmap='PuBuGn')
        pl.colorbar(thePlot, orientation='vertical')
        aTitle = (classtype + ' Composition Changes Over Time in ' + city + 
                ', ' + province + '\n' + collector + ' collector. ' + 'rs100')
        pl.title(aTitle, x=0.5, y=titleposy, style='oblique', weight='bold')
        pl.xlabel('Collection Time')
        pl.xticks(range(len(df.columns)), df.columns, rotation=90)
        pl.yticks(range(len(df.index)), df.index)
        fileName = (classtype + '-' + city + '-' 
                + province + '-' + collector + '.png')
        pl.savefig(fileName)
    except ZeroDivisionError:
        errorMessage = ('No Data Avaiable for ' + city + ', ' + province + 
                ' with ' + collector + ' collector.')
        print errorMessage

Le problème que j'ai est, savefig() permettrait de sauver des chiffres avec l'axe et des graphiques découpés. J'ai utiliser show()de maximiser le graphique et les enregistrer manuellement la figure avec le bouton GUI moi-même.

Comment puis-je réparer ma fonction donc savefig() permettrait de sauver les graphiques correctement? J'ai essayé de mettre une ligne comme ceci avant pl.savefig() à contrôler ma figure:

       pl.figure(figsize=....) 

mais je finis par la production de certains vides graphiques. Quelle est la bonne façon d'écrire un matplotlib fonction qui me donne le plein contrôle sur l'enregistrement de la figure?

Mis à jour avec l'Exemple d'un problème de figure:
contrôle de taille matplotlib savefig ()

source d'informationauteur WonderSteve