Julia 从Plots.jl中的终端运行时显示的绘图窗口

Julia 从Plots.jl中的终端运行时显示的绘图窗口,julia,plots.jl,Julia,Plots.jl,我使用Plots.jl和默认后端来打印图像并保存图形 using Plots: plot, savefig plot(rangex,rangey,some_image,xticks,yticks,...); savefig("name.jpg"); 这在Juno IDE中工作得非常好。但我的最终代码预计将在终端上运行。当我尝试在终端中运行相同的代码时,它会变得非常慢,在每个绘图中,我都会看到一个GKS QtTerm窗口出现并消失一会儿。有没有办法禁用此窗口 编辑:以下是我的

我使用Plots.jl和默认后端来打印图像并保存图形

using Plots: plot, savefig
plot(rangex,rangey,some_image,xticks,yticks,...);
savefig("name.jpg");
这在Juno IDE中工作得非常好。但我的最终代码预计将在终端上运行。当我尝试在终端中运行相同的代码时,它会变得非常慢,在每个绘图中,我都会看到一个GKS QtTerm窗口出现并消失一会儿。有没有办法禁用此窗口

编辑:以下是我的运行时结果

在Atom Juno中:

  • 启动julia+加载库和函数大约需要36秒
  • 进行100次绘图迭代大约需要55秒
  • 总共91
在Windows命令中:

  • 启动julia+加载库和函数大约需要21秒
  • 进行100次绘图迭代大约需要284秒
  • 总共305

对于性能增加150倍的情况,将空设备设置为gr输出

ENV["GKSwstype"]="nul"
这需要在初始化
gr()
后端之前完成

以下是我机器上的时间:

using Plots
gr()
savefig(plot(rand(10)),"myplot.png")
@time savefig(plot(rand(10)),"myplot.png");
收益率:

2.388764 seconds (25.38 k allocations: 936.133 KiB)
0.016462 seconds (24.22 k allocations: 877.680 KiB)
收益率:

2.388764 seconds (25.38 k allocations: 936.133 KiB)
0.016462 seconds (24.22 k allocations: 877.680 KiB)
就这么简单,快150倍

附加注释。如果要将第一次绘图的时间减到最少,请在Julia系统图像中编译
Plots.jl
。这是我的另一个答案,解释了怎么做