我想使用Julia将PlotlyJS绘图保存为PNG,但我不知道如何保存。这个
PlotlyJS webpage for Julia
声明“要保存图表以供外部查看,可以使用savefig(p,filename::String)方法”。但是,以下代码:
using PlotlyJS
p = plot(rand(10, 4))
PlotlyJS.savefig(p, filename="myimage.png")
由于“获取了不受支持的关键字参数”文件名而导致错误,但使用
PlotlyJS.savefig(p, "myimage.png")
导致“访问未定义引用”错误:
ERROR: UndefRefError: access to undefined reference
Stacktrace:
[1] getproperty
@ .\Base.jl:42 [inlined]
[2] _kaleido_running
@ C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:176 [inlined]
[3] _ensure_kaleido_running()
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:177
[4] savefig(p::Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}; width::Nothing, height::Nothing, scale::Nothing, format::String)
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:84
[5] savefig(io::IOStream, p::Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}; width::Nothing, height::Nothing, scale::Nothing, format::String)
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:139
[6] (::PlotlyBase.var"#181#182"{Nothing, Nothing, Nothing, Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}})(f::IOStream)
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:171
[7] open(::PlotlyBase.var"#181#182"{Nothing, Nothing, Nothing, Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base .\io.jl:330
[8] open
@ .\io.jl:328 [inlined]
[9] savefig(p::Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}, fn::String; format::Nothing, width::Nothing, height::Nothing, scale::Nothing)
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:170
[10] savefig(p::Plot{Vector{GenericTrace}, Layout{Dict{Symbol, Any}}, Vector{PlotlyFrame}}, fn::String)
@ PlotlyBase C:\Users\apung\.julia\packages\PlotlyBase\NxSlF\src\kaleido.jl:165
[11] savefig(p::PlotlyJS.SyncPlot, a::String; k::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ PlotlyJS C:\Users\apung\.julia\packages\PlotlyJS\WF333\src\PlotlyJS.jl:49
[12] savefig(p::PlotlyJS.SyncPlot, a::String)
@ PlotlyJS C:\Users\apung\.julia\packages\PlotlyJS\WF333\src\PlotlyJS.jl:49
[13] top-level scope
@ none:1
我还尝试过定义PyPlot图形,并通过PyPlot打开/保存图像,但没有成功。
或者,基于
this
接受答案,我可以将绘图保存为HTML文件,但我仍然需要将HTML文件转换或保存为PNG。提出了解决这个问题的办法
here
,但这仍然让人感觉混乱。
最后,我想将PlotlyJS绘图保存为PNG文件。