1
Matplotibを使用して複数の別々のプロットを作成しようとしており、これらを1つのPDFドキュメントに保存しています。ここに私のコードです:Matplotlibを使用した複数のプロットの作成
pdf = matplotlib.backends.backend_pdf.PdfPages('Activity_Report.pdf')
fig1 = plt.figure(1)
fig1.figure(figsize=(11.69, 8.27))
ax1 = fig1.add_subplot(111)
# ******** product 1 ********
ax1.plot(Prod_01['Date'], Prod_01['Orders'], marker='o', label='Orders', color='navy', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Orders_MA'], linestyle='--', label='Orders (10-d)', color='darkblue', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Volume'], marker='o', label='Volume', color='firebrick', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Volume_MA'], linestyle='--', label='Volume (10-d)', color='firebrick', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Pass'], marker='o', label='Pass', color='darkgreen', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Pass_MA'], linestyle='--', label='Pass (10-d)', color='darkgreen', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Request'], marker='o', label='Request', color='cyan', linewidth='2')
ax1.plot(Prod_01['Date'], Prod_01['Request_MA'], linestyle='--', label='Request (10-d)', color='cyan', linewidth='2')
ax1.set_title('Prod_01', fontsize='20', rasterized=True)
ax1.tick_params(axis='both', which='major', labelsize='10')
ax1.legend(loc='upper left', fontsize='10')
ax1.get_yaxis().set_major_formatter(tkr.FuncFormatter(lambda x, p: format(int(x), ',')))
ax1.xaxis.set_major_formatter(custom_x_axis_format)
# ******** product 2 ********
fig2 = plt.figure(2)
fig2.figure(figsize=(11.69, 8.27))
ax2 = fig2.add_subplot(111)
ax2.plot(Prod_02['Date'], Prod_02['Order'], marker='o', label='Order', color='navy', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Order_MA'], linestyle='--', label='Order (10-d)', color='darkblue', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Volume'], marker='o', label='Volume', color='firebrick', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Volume_MA'], linestyle='--', label='Volume (10-d)', color='firebrick', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Pass'], marker='o', label='Pass', color='darkgreen', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Pass_MA'], linestyle='--', label='Pass (10-d)', color='darkgreen', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Request'], marker='o', label='Request', color='cyan', linewidth='2')
ax2.plot(Prod_02['Date'], Prod_02['Request_MA'], linestyle='--', label='Request (10-d)', color='cyan', linewidth='2')
ax2.set_title('Prod_02', fontsize='20', rasterized=True)
ax2.tick_params(axis='both', which='major', labelsize='10')
ax2.legend(loc='upper left', fontsize='10')
ax2.get_yaxis().set_major_formatter(tkr.FuncFormatter(lambda x, p: format(int(x), ',')))
ax2.xaxis.set_major_formatter(custom_x_axis_format)
pdf.savefig()
pdf.close()
私がいる問題は、このコードは単一数字(というよりも二つの別々のの数字にプロットされていることであることは、単一の図にプロットされているproduct 1
とproduct 2
です。 (StackOverflowの上のいくつかの記事に見られるように)(つまり、互いの上に)。私はFigure()
を使用して偉大な別のプロットに試してみましたが、それが動作するようには思えない。
それは私が持っている可能性がありますfig1
、ax1
、 fig2
とax2
はinco直感的に(Pythonの初心者ですが、私はまだ100%使用しているとは分かりません)。
このコードが目的の2つの別々のプロットの代わりに1つのプロットを生成する理由は誰にも分かりますか?
ありがとうございます!
は、それはあなたが一度だけ)(pdf.savefigを呼ぶことだろうか? – benten
「pdf.savefig(fig1)」や「pdf.savefig(fig2)」などの具体的な数値をPDFに保存する必要があります。 –
私の間違いを訂正してくれてありがとう(@bentenと@Paul H)コードは意図したとおりに動作します! – equanimity