matplotlib饼图保留了上一个饼图的标签

1 投票
1 回答
885 浏览
提问于 2025-04-17 21:40

我有一个小的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(...)

使用常见问题解答 在这里可以帮助你理解这两种选择。

撰写回答