我正在尝试在 Julia 中保存使用 Plotly 制作的图形。我试图使绘图具有方形纵横比,但在保存图形时它会恢复为默认纵横比。
例如,
xVals = 0:1:10
zVals = ones(10,10)
axis_template = attr(range = [0,10], autorange = false)
lay = Layout(autosize=false,xaxis=axis_template,yaxis=axis_template,width=700,height=700)
trace = PlotlyJS.heatmap(x= xVals ,y=xVals,z = zVals)
p = PlotlyJS.plot(trace,lay)
PlotlyJS.savefig(p,"test.png")
这不会保存长宽比为正方形的图形,并且 savefig 似乎忽略了 Layout 中的大部分内容。此外,我不确定设置宽度和高度是获得正确宽高比的正确方法,但我尝试过的其他方法都不起作用(即aspect_ratio =:equal什么也不做)。
您可以使用
width
函数的 height
和 savefig()
参数来定义保存的绘图的大小:
savefig(p, img_path, width=700, height=700)
使用帮助 (
?
) 查看 savefig
函数的签名。
help?> savefig
search: savefig StackOverflowError
savefig(
io::IO,
p::Plot;
width::Union{Nothing,Int}=nothing,
height::Union{Nothing,Int}=nothing,
scale::Union{Nothing,Real}=nothing,
format::String="png"
)
Save a plot p to the io stream io. They keyword argument format determines the type of data written to the figure and must be one of png, jpeg, webp, svg, pdf, eps, json,
or html. scale sets the image scale. width and height set the dimensions, in pixels. Defaults are taken from p.layout, or supplied by plotly