使用 Julia 进行实时绘图
real time plotting with Julia
我正在尝试绘制一个使用 Julia 实时演化的函数。
为此,我看到 GR 包可以在 Julia 中使用,当我尝试准确应用给定的示例时 here:
import GR
GR.inline("mov")
x = [0:0.01:2*pi]
for i = 1:200
GR.plot(x, sin.(x + i / 10.0))
end
GR.show()
我在执行循环部分时收到以下错误消息:
预期实数或复数
在#plot_args#12(::Symbol, ::Function, ::Tuple{Array{FloatRange{Float64},1},Array{Array{Float64,1} ,1}}) 在 /Users/myname/.julia/v0.5/GR/src/jlgr.jl:936 ....
我在网上查了一下,发现 this 有人似乎有类似的问题,但我真的不明白答案,我应该怎么做才能让它起作用。
我也可以找到另一种实时绘图的方法(在循环内)。
有人可以帮忙吗?
提前致谢
这里有一个使用Plots绘制到GR的解决方案。我相信这也可以直接在 GR 中完成,但不确定您的示例有什么问题。
using Plots
gr(show = true) # in IJulia this would be: gr(show = :ijulia)
x = 0:0.01:2*pi
for i in 1:200
display(plot(x, sin.(x + i / 10.0)))
end
请注意,此示例是实时的(根据问题),因此可能会有些滞后。在示例代码中,创建了一个 gif,然后显示给 ijulia。
我正在尝试绘制一个使用 Julia 实时演化的函数。
为此,我看到 GR 包可以在 Julia 中使用,当我尝试准确应用给定的示例时 here:
import GR
GR.inline("mov")
x = [0:0.01:2*pi]
for i = 1:200
GR.plot(x, sin.(x + i / 10.0))
end
GR.show()
我在执行循环部分时收到以下错误消息:
预期实数或复数
在#plot_args#12(::Symbol, ::Function, ::Tuple{Array{FloatRange{Float64},1},Array{Array{Float64,1} ,1}}) 在 /Users/myname/.julia/v0.5/GR/src/jlgr.jl:936 ....
我在网上查了一下,发现 this 有人似乎有类似的问题,但我真的不明白答案,我应该怎么做才能让它起作用。
我也可以找到另一种实时绘图的方法(在循环内)。
有人可以帮忙吗?
提前致谢
这里有一个使用Plots绘制到GR的解决方案。我相信这也可以直接在 GR 中完成,但不确定您的示例有什么问题。
using Plots
gr(show = true) # in IJulia this would be: gr(show = :ijulia)
x = 0:0.01:2*pi
for i in 1:200
display(plot(x, sin.(x + i / 10.0)))
end
请注意,此示例是实时的(根据问题),因此可能会有些滞后。在示例代码中,创建了一个 gif,然后显示给 ijulia。