Python 如何避免两个地块错误混合?

Python 如何避免两个地块错误混合?,python,matplotlib,Python,Matplotlib,我在运行代码时遇到了一个问题。总之,它涵盖了一些数据篡改,直到可以使用matplotlib打印数据为止。为了说明这一情况,我将总体思路/结果放在上面: #Code for Graph 1, which mixes 2 plots together plt.xticks(rotation=90) plt.bar(list_a,list_b,label="Spent", color="orange") plt.bar(list_c,list_b, label="Count of spent",

我在运行代码时遇到了一个问题。总之,它涵盖了一些数据篡改,直到可以使用matplotlib打印数据为止。为了说明这一情况,我将总体思路/结果放在上面:

#Code for Graph 1, which mixes 2 plots together

plt.xticks(rotation=90)

plt.bar(list_a,list_b,label="Spent", color="orange")

plt.bar(list_c,list_b, label="Count of spent", color="black")

plt.title("Graph 1")

plt.legend()

plt.savefig("Graph 1")


#Code for Graph 2

plt.xticks(rotation=90)

plt.plot(list_d, list_e,label="Cumulative spent")

plt.grid(color="grey",linestyle="--",linewidth=1)

plt.title("Graph 2")    

plt.legend(loc="lower right")

plt.savefig("Graph 2")
结果是:

图1的右侧:

图2错误:

图2应如下所示(我可以在使用Jupyter笔记本而不是PyCharm时正确生成):


所以,一般来说,图2也考虑了图1中的数据。。。有没有关于如何避免这种情况的猜测?我尝试使用sleep(),但它不起作用。

在处理完每个绘图后,您可以尝试调用
plt.close()

如果要创建多个图形,请确保显式调用pyplot.close关闭未使用的图形,因为这将使pyplot能够正确清理内存。

参考: