如何解决从Plots.jl中的终端运行时,显示绘图窗口
我正在使用具有默认后端的Plots.jl绘制图像并保存图形。
select distinct
这与Juno IDE完美配合。但是我的最终代码有望在终端中运行。当我尝试在终端中运行相同的代码时,它变得非常慢,并且在每幅图中我都看到一个GKS QtTerm窗口出现并消失了一会儿。有禁用此窗口的方法吗?
编辑:这是我的运行时结果。
在Atom Juno中:
- 启动julia +加载库和函数大约需要36秒钟
- 进行100次绘图迭代大约需要55秒
- 总计 91 秒。
在Windows cmd中:
- 启动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)
using Plots
ENV["GKSwstype"]="nul"
gr()
savefig(plot(rand(10)),"myplot.png");
产量:
0.016462 seconds (24.22 k allocations: 877.680 KiB)
那样容易,并且快150倍!
附加说明。如果您希望最小化第一次绘图的时间,请在Julia系统中编译Plots.jl
。这是我的其他答案,解释了Why julia takes long time to import a package?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。