Matplotlib重新绘制散点图

时间:2019-12-19 00:22:55

标签: python matplotlib calculator sympy graphing

我正在尝试使用matplotlib制作一个图形计算器,以图形化函数的相对极值,但是我无法弄清楚一旦在文本框中输入新方程式后如何使散点图重置。任何人都知道如何删除然后重新绘制点或理想情况下只是追加数据吗?谢谢!

1 个答案:

答案 0 :(得分:1)

最基本的方法是plt.cla()。用法:

plt.scatter(x, y)
# Change x and y or use new arrays
# ...
# When ready to replot
plt.cla()
plt.scatter(x, y)

如果您不想清除整个轴,还可以选择使用matplotlib.collections.set_offsets。用法:

sct = plt.scatter(x, y)
# Change x and y as desired, or pass entirely new arrays
sct.set_offsets(x, y)

由于我遇到的大多数图形计算器都允许绘制多个函数,因此最好使用后一种方法。或者,甚至更好,只需使用.remove()

sct1 = plt.scatter(x1, y1)
sct2 = plt.scatter(x2, y2)
sct1.remove()
sct3 = plt.scatter(x3, y3)

在那种情况下,将保留sct2sct3但删除sct1