如何删除由 scatter! 创建的点?在 Julia 中(使用 Makie)

How do I delete dots created by scatter! in Julia (using Makie)

我对 Julia 很陌生。我目前正在开发一个小程序,它需要我绘制一个点并稍后将其删除(每次只会有一个点)。 我正在使用 Makie 包来可视化所有内容,但我还没有找到删除点的方法,该点是由散点图(或散点图!)绘制的。 代码应如下所示:

scene = scatter([0],[0], color="blue", markersize=10)
pop!(scene.scatter) #command that removes the dot drawn by the above scatter

我找到了这个帖子 (),它展示了一种使用 pop! 删除最后绘制的东西的方法,但是这段代码没有 运行(如果我添加场景,我会收到一条错误消息作为 scatter!(scene,...)).

的参数

感谢您的帮助

我过去用来擦除部分散点图的方法是使用背景颜色重新绘制点(我相信白色是默认设置)。如果绘图上有多个图层,您可能需要重新绘制要保留的图层,因为覆盖可能会擦除下面的其他功能:

julia> scene = scatter([0],[0],color="blue", markersize=10)

julia> scene = scatter([0],[0], color="white", markersize=10)

有一个delete!(ax::Axis, plot::AbstractPlot) method,但有点乱所以举个例子可能更清楚:

scene = scatter([0],[0], color="blue", markersize=10)
# FigureAxisPlot instance
# scene.plot is the Scatter instance

points2 = scatter!(2:4, 2:4, color="green", markersize=20)
# Scatter instance

point3 = scatter!([1], [1], color="red", markersize=15)
# Scatter instance

delete!(scene.axis, points2)
# green points removed from plot

delete!(scene.axis, scene.plot)
# original blue point removed from axis,
# but scene.plot doesn't change