我有一个小的Django应用程序,可生成两个不同的饼图。 但是显示的第一张图表中的标签重新出现 第二张图表。
我刚刚使用:
plt.pie(...)
plt.savefig(...)
在同一视图中使用两个不同的两个不同的饼图 (小)数据集。
在保存之后我需要调用一些“清除”或“重置”方法吗? 情节?
答案 0 :(得分:3)
您可以保持代码不变,并在保存第一个绘图之后和生成第二个绘图之前调用clf()
来清理您的图形。
通过这样做,您正在与matplotlib
状态机连接。 Matplotlib会自动为您创建图形和轴,您可以使用相同的图形。
另一种方法是以更加面向对象的方式使用matplotlib
。您要求matplotlib创建图形和轴对象,然后通过调用这些对象的方法来完成所有其他操作:
fig1,ax1=plt.subplots()
fig2,ax2=plt.subplots()
ax1.pie(...)
ax2.pie(...)
fig1.savefig(...)
fig2.savefig(...)
使用常见问题解答here阐明了两个选项。