matplotlib饼图保留了上一个饼图的标签
我有一个小的Django应用,它可以生成两个不同的饼图。不过,第一个饼图的标签在第二个饼图中又出现了。
我只是用了:
plt.pie(...)
plt.savefig(...)
在同一个视图中,用了两个不同的小数据集来显示这两个饼图。
我需要在保存图表后调用什么“清除”或“重置”的方法吗?
1 个回答
4
你可以不改变你的代码,只需在保存了第一个图后、生成第二个图之前调用 clf()
,这样就能清理掉之前的图形。
这样做的目的是在和 matplotlib
的状态机进行交互。Matplotlib 会自动为你创建图形和坐标轴,你可以继续使用同一个图形。
另一种方法是以更面向对象的方式使用 matplotlib
。你可以让 matplotlib 创建图形和坐标轴对象,然后通过调用这些对象的方法来完成其他操作:
fig1,ax1=plt.subplots()
fig2,ax2=plt.subplots()
ax1.pie(...)
ax2.pie(...)
fig1.savefig(...)
fig2.savefig(...)
使用常见问题解答 在这里可以帮助你理解这两种选择。