matplotlibを使用して6つのグラフを1ページに保存したい。グラフは各AAの関数の呼び出しであり、それを保存する前にテストするために以下のコードを思い付いた:複数の関数を同じファイルにプロットして保存するmatplotlib
def save_plot (output_DF, path = None):
fig = plt.figure(1)
sub1 = fig.add_subplot(321)
plt.plot(plot_BA(output_DF))
sub2 = fig.add_subplot(322)
sub2.plot(plot_merchantableVol(output_DF))
sub3 = fig.add_subplot(323)
sub3.plot(plot_topHeight(output_DF))
sub4 = fig.add_subplot(324)
sub4.plot(plot_GrTotVol(output_DF))
sub5 = fig.add_subplot(325)
sub5.plot(plot_SC(output_DF))
sub6 = fig.add_subplot(326)
sub6.plot(plot_N(output_DF))
plt.show()
それは方法を、私は6つの空のプロットでページを作成するだけでなく、6つの別のプロットを作成できますか私が呼び出すすべての機能に対してplot_BA(output_DF)は、たとえば、CSVファイルを読み込んでプロットを作成するために呼び出す関数です(個々に動作しています)。もう1つは同様の機能であり、同様に機能しています。私はグラフを図の指定された場所に置くために何かを見逃しているようです。
ここに私が使用している機能の1つがあります。
def plot_BA(output_DF):
BA = output_DF.loc[:,['BA_Aw','BA_Sw', 'BA_Sb','BA_Pl']]
BAPlot = BA.plot()
plt.xlabel('Year', fontsize=14)
plt.ylabel('BA (m2)')
return True
ヒントはありますか?
何が問題なのですか?これは私のために働く(少なくともplot_Xが配列を返す場合は、この関数の中でプロットするべきではない)。 – sascha
plot_Xがプロットを返しています。私は主な質問にコードを貼り付けます –
さて...あなたの関数に引数subplot_axを追加する必要があります(そしてこれらをsub1、sub2、...と呼びます)。次に、関数内でsubplot_ax.plot()を使用します。 xlabelとcoの場合も同じです。これらの関数の名前は、(matplotlibのGoogleオブジェクト指向の使い方とは)異なる場合があります。そして、あなたはsavefigを内部で呼び出すべきではありません。 – sascha