将值从示例 for 循环绘制到同一绘图窗口的最简单方法是什么?我尝试 Plots,但 atom 没有打开任何绘图窗口。当我尝试在 Julia 终端中做同样的事情时,一切都很好。例子:
using Plots
plot(Plots.fakedata(50,5),w=3)
Run Code Online (Sandbox Code Playgroud)
我有来自其他程序的套接字连接,我想绘制我得到的值的线。或者这可能与 PyPlot 有关吗?
您需要使用gui()
来显示绘图窗口。
在 REPL 中,显示返回的对象。这就是为什么没有 a 的任何东西;
都会显示(还有矩阵、向量等)。当您转到脚本时,情况不再如此(这就是您不需要使用 的原因;
)。在 Atom 中,它以脚本模式读取它,因此您必须通过 手动显示内容display(obj)
,或者如果使用绘图,则只需使用gui()
.
要在同一个绘图窗口中显示内容,您只需在设置后端时设置重用 = true,即
gr(reuse=true)
Run Code Online (Sandbox Code Playgroud)
请注意,您还可以添加show=true
以使其在绘制绘图时自动显示,而不必调用gui()
.
然后要进行实时绘图,只需将新值推入绘图中。完整代码如下所示:
using Plots
gr(reuse=true)
p =plot([0;.1],[0;.2])
gui()
for i=2:10
push!(p,i*.1,randn())
gui()
sleep(.1) # To slow things down for show.
end
Run Code Online (Sandbox Code Playgroud)
这个答案应该适用于任何后端。注意我切换到GR.jl因为它往往更快