与ax.scatter.remove()相反?

时间:2017-11-20 14:58:59

标签: python matplotlib

我在matplotlib中有一个散点图

import matplotib.pyplot as plt

fig, ax = plt.subplots()
scatter = ax.scatter([0], [0])
scatter.remove()  # remove the scatter from figure

是否有scatter方法将其添加(返回)到图中?

2 个答案:

答案 0 :(得分:2)

分散是matplotlib.collections.PathCollection。要将这样的集合添加到轴,请使用ax.add_collection

ax.add_collection(scatter)

完整示例:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
scatter = ax.scatter([0], [0])
scatter.remove() 
ax.add_collection(scatter)
plt.show()

答案 1 :(得分:2)

如果您不想从图中实际删除它,则可以使用以下方法将分散设置为不可见:

scatter.set_visible(False)

然后再使用:

scatter.set_visible(True)

把它带回来。

例如:

import matplotib.pyplot as plt

fig, ax = plt.subplots()
scatter = ax.scatter([0], [0])
scatter.set_visible(False)

# Do something

scatter.set_visible(True)