微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从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 举报,一经查实,本站将立刻删除。