情节savefig在顶级工作,但不在函数内?

时间:2018-05-29 21:00:26

标签: julia

我试图编写一些命令行Julia程序来生成和保存图表。

这有效:

ERROR: LoadError: MethodError: no method matching getindex(::PyPlot.Figure, ::Symbol)
The applicable method may be too new: running in world age 21855, while current world is 21864.

但这并不是:

#!/usr/bin/env julia
using Plots
function main(args)
    plot(1:100,1:100)
    savefig("foo.png")
end
pyplot()
main(ARGS)

失败
dc

欢迎任何想法或指示!

更新 - 感谢您的所有建议。这是一个解决方法:

dc = dc.T

1 个答案:

答案 0 :(得分:0)

更新:据我所知,Julia v1.0中不应出现此问题

原文回答:这可能更适合评论,但我的字符用完了。

这是Plots中臭名昭着的“世界时代”问题。这通常会在您使用GR后端而不是PyPlot时显示,但据我所知,它可能会影响整个Plots生态系统在某些情况下。

此问题的页面已存在hereherehere(我认为实际上还有一两个)。有几个人积极致力于解决这个问题,但事实证明彻底根除它是非常棘手的。

暂时解决这个问题,尝试在函数外部生成的任意随机图上调用savefig然后调用包含您要执行的绘图的函数。这适用于我的系统,希望它也适合你。