报错代码:
ax.collections = []
AttributeError: can't set attribute 'collections'
ax.collections
也是一个只读属性,不能直接通过赋值来清除。在 Matplotlib 中,collections
包含了所有类型的集合对象,比如散点图的集合。
# 清除所有集合对象
for coll in ax.collections:
coll.remove()
完整示例代码:
import matplotlib.pyplot as plt
import numpy as np
# 假设你已经有一个绘图 ax
fig, ax = plt.subplots()
ax.scatter(np.random.rand(10), np.random.rand(10), label='Scatter 1')
# 清除所有集合对象
for coll in ax.collections:
coll.remove()
# 重新显示图表,现在应该没有散点了
plt.show()