首页 > 解决方案 > 在 Jupyter Notebook 中使用 PyPlot 作为 Plot.jl 的后端时如何设置 svg 输出

问题描述

当我设置pyplot()为 Plots.jl 的后端时,Jupyter notebook 的输出是 png 而不是 svg,

即使我使用PyPlot.svg(true)将输出格式设置为 svg,Plots.jl 仍然使用 png 输出

这是我实际使用的代码

using Plots
pyplot()
PyPlot.svg(true)
df2 = CSV.read("0048_plot.csv") |> DataFrame
plot(df2[1],df2[2],title="YBCO Diamagnetism \n Phase Transition (Varies with External Field)",
        label="Magnitisation",
        xlabel="Temperature (K)", 
        ylabel="Long Magnetic Moment (Emu)"
        )
scatter!(df2[1], df2[2], label="Data Point",framestyle=:box) 

和结果 png输出

标签: matplotlibplotjupyter-notebookjulia

解决方案


如果您要保存图形,则科林在评论中的回答是正确的。在 Jupyter 或其他交互式设置中,使用plot(df2[1],df2[2],format = :svg). 您可能需要查看 StatPlots 和@df用于在数据框中绘制数据的宏。


推荐阅读