gpt4 book ai didi

Matplotlib:删除所有艺术家和台词

转载 作者:行者123 更新时间:2023-12-05 08:00:37 25 4
gpt4 key购买 nike

假设我通过 for 循环在 matplotlib 中制作了一系列 AnnotationBbox,如下所示:

 for city in cities:
x, y = self.map(city[1], city[0])

ab = AnnotationBbox(imagebox, [x,y],
xybox=(0, 0),
xycoords='data',
boxcoords="offset points",
frameon=False)
self.axes.add_artist(ab)
self.locationImages.append(ab)

在此示例中,我创建了一系列 AnnotationBBox,并将它们存储在名为 self.locationImages 的列表中。然后我在一个循环中遍历 self.locationImages,并通过这样做删除每一个:

    for image in self.locationImages:
image.remove()

有没有办法删除所有的艺术家,而不必经过一个循环?或者完全删除所有艺术家和线条,而不必删除轴或图形?

我正在 map 上标绘点,我需要保留 map 。我正在放大和缩小,但在放大和缩小期间,我需要删除所有内容并重新绘制。我正在处理一个大型数据集并且进行迭代是一项昂贵的操作

最佳答案

我认为一个非常糟糕的解决方案是执行以下操作:

# remove all artists
while ax.artists != []:
ax.artists[0].remove()

#remove all lines
while ax.lines != []:
ax.lines[0].remove()

这适用于动态绘图(例如动画或 ipywidgets)。但是,如果您说必须有更好的方法——我肯定会同意 :)

关于Matplotlib:删除所有艺术家和台词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com