我正在尝试绘制多个单独的图形并将其放入pdf(如果相关,请使用FPDF)。但是,在生成这些数字时,我面临一个问题。我一直试图将它们全部绘制并分别保存,但是结果最终是这样的:
这是我当前的代码:
pltAssets = plt
pltAssets.axis('off')
pltAssets.axis('tight')
pltAssets.table(cellText=dfAssets.values, colLabels=dfAssets.columns, loc='center')
pltAssets.savefig('FILES/assets.png', dpi=300)
pltAssets.close()
labels = "Debt", "Equity", "Real Estate", "Cash", "Misc"
values = [10000, 10700, 1402, 101412, 31214]
colors = ["#ff6384", "#36a2eb","#ff9f40","#9966ff", "#36a832"]
plt.pie(values, labels=labels, colors=colors)
plt.title("Asset Allocation")
plt.savefig('FILES/asset_chart.png', dpi=300)
plt.show()
plt.close()
#Note that this is only a section of the code, however, the rest is just a
#variation of how I've done it here and is essentially irrelevent
非常感谢您的帮助。 [请注意,这些都是我正在测试的伪造数据,没有任何机密]
答案 0 :(得分:0)
我仍然不知道发生此错误的确切原因,但是,我的解决方法很简单:
不是创建更多的plt实例(即如何创建pltAssets),而是通常使用plt,但是,请使用plt.show()和plt.close()摆脱上一个图表。
这是我当前的代码(与示例中的数据不同,但是概念相同):
plt.title("Fund/Stock Value")
plt.xlabel("Month")
plt.ylabel("Value")
plt.savefig('FILES/value_chart.png', dpi=300)
plt.show()
plt.close()
plt.axis('off')
plt.axis('tight')
plt.title("Investments")
plt.table(cellText=dfInvest.values, colLabels=dfInvest.columns, loc='center')
plt.savefig('FILES/invest_table.png', dpi=300)
plt.show()
plt.close()