[ANN] Plots 1.37 - RFC Plots 2.0

A couple of notes on the release of Plots 1.37.

  • “best” legend position for gr (and other backends) has been implemented thanks to @lmiq in this PR.
  • addition of the pythonplot backend. This backend uses PythonCall and PythonPlot instead of PyCall and PyPlot. Even if the pyplot backend will still be supported in Plots 1.X, users are encouraged to transition to the pythonplot backend, since new features and bug fixes are now added only to pythonplot.
  • precompilation for a selected backend (thus improving TTFP). Plots will generate precompile statements for a selected backend, made persistent through Preferences, see the docs at Persistent-backend-selection or the example below.
$ JULIA_PKG_PRECOMPILE_AUTO=0 julia -e 'import Plots; Plots.set_default_backend!(:pythonplot)'
$ julia  # restart, show persistent mode
julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
[ Info: PythonPlot  # precompiles for this backend
julia> plot(1:2) |> display  # always uses `PythonPlot` by default

Also, please join the discussion in [RFC] Plots `2.0` · Issue #4565 · JuliaPlots/Plots.jl · GitHub for the wished for breaking features or removals in Plots 2.0.

Thanks to @mkitti and @BeastyBlacksmith for reviews and comments.


Thanks for the new version.

Still, I think the instruction

JULIA_PKG_PRECOMPILE_AUTO=0 julia -e 'import Plots; Plots.set_default_backend!(:pythonplot)'

will look confusing for many users. (It took me a while to parse it.) Why not just say: start the Julia REPL and run
import Plots; Plots.set_default_backend!(:pythonplot)