gpt4 book ai didi

julia - 如何在不关闭 Julia 环境的情况下清理绘图 (GR)

转载 作者:行者123 更新时间:2023-12-03 23:10:31 26 4
gpt4 key购买 nike

我正在调试一个脚本(使用 Plots.jlGKS QtTerm 后端)。所以我多次运行脚本。当我从像 bash> julia pointPlacement.jl 这样的终端运行它时,初始化 Julia 和 Plots.jl 需要很长时间(与 python 相比,这是一个很大的不便)。因此,我宁愿让 Julia 打开并从内部运行脚本,例如 julia> include( "pointPlacement.jl" )

grid = [ [ix*0.01 iy*0.01] for ix=1:100, iy=1:100 ]
grid = vcat(ps...)

centers = hexGrid( 2, 0.2 )

using Plots
display(scatter!( grid[:,1], grid[:,2], markersize = 1, markerstrokewidth = 0, aspect_ratio=:equal ))
display(scatter!( centers[:,1], centers[:,2], markersize = 2, markerstrokewidth = 0, aspect_ratio=:equal ))

问题是地块累积。这是 9 次运行后。应该只有 2 个数据集,而不是 18 个:

enter image description here

我想关闭(杀死,摧毁)他们

如果我像这样删除 !,它会有所帮助
display(scatter( grid[:,1], grid[:,2], markersize = 1, markerstrokewidth = 0, aspect_ratio=:equal ))
display(scatter!( centers[:,1], centers[:,2], markersize = 2, markerstrokewidth = 0, aspect_ratio=:equal ))

但是,我仍然担心一些垃圾(以前的数字)会留在内存中,并且在我运行脚本 100 倍后 Julia 会崩溃。因此,我想在每次运行脚本时调用一些函数,如 clear()flush()closeAll() ......或其他东西......

最佳答案

删除 ! 有你想要的效果 - 如果你再次调用 scatter 并且它不在后台的某个地方,情节就会消失。

如果你愿意,你可以将绘图存储在一个变量中并“为了安全”覆盖它,即

p = scatter(...)
scatter!(p, ...)

,其中 ... 是您的绘图参数。这将显式覆盖每个 p 上的 include

关于julia - 如何在不关闭 Julia 环境的情况下清理绘图 (GR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58415549/

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