4

我正在尝试用 Julia 绘制一个实时演变的函数。

为此,当我尝试完全应用此处给出的示例时,我看到 GR 包可以在 Julia 中使用:

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 ....

我在互联网上看了一点,发现有人似乎有类似的问题,但我真的不明白答案,我应该怎么做才能让它工作。

我也可以找到另一种实时绘图的方法(在循环内)。

有人可以帮忙吗?

提前谢谢你

4

1 回答 1

5

这是一个使用 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。

于 2017-05-31T15:17:40.787 回答