Pandas から生成されたデータフレームを取得してヒートマップを生成する関数を作成しました。
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
私が抱えている問題はsavefig()
、軸とグラフィックスがトリミングされた状態で図を保存することです。を使用しshow()
、グラフを最大化し、GUI ボタンを使用して手動で図を保存する必要があります。
savefig()
グラフを適切に保存するように関数を修正するにはどうすればよいですか? pl.savefig()
私は自分の体型を制御するために、前にこのような行を入れようとしました:
pl.figure(figsize=....)
しかし、私はいくつかの空のグラフを作成してしまいます。図の保存を完全に制御できるmatplotlib関数を作成する適切な方法は何ですか?
問題図の例で更新: