-
-
Notifications
You must be signed in to change notification settings - Fork 362
Description
Considering that MakiE is designed quite differently from Plots.jl, any transition to Plots.jl will
basically mean replacing Plots.jl. I don't see how to slowly incorporate ideas from MakiE into Plots.jl without a huge amount of work. I think we're at a good time to still make drastic much needed changes, so we shouldn't try to be conservative here.
So I propose to let MakiE live as it's own package for a while until we can ensure, that all features from Plots.jl are well covered.
Then we can think about renaming MakiE, make a PR to Plots.jl to replace the internals with MakiE or simply deprecate Plots.jl and suggest to move to MakiE.
This would look something like this:
- Pre release MakiE (should happen today)
- Implement some more high level recipes from Plots.jl
- Introduce a compatibility layer for PlotsRecipeBase to see if MakiE support the whole range of features used in packages
- factor out MakiE Plotsbase into an abstract plotting package with no dependencies
- Create backend packages
- Refactor into packages - replace/rename Plots.jl with new internals
Other backends
I'm inclined to implement a reference backend different from GLVisualize with Cairo. I already have some code for this from my experiments in Visualize.jl.
Cairo is completely orthogonal to GLVisualize and offers missing bits and pieces like PDF/SVG export.
The orthogonality seems to be an important quality for different backends to make the choice of backends clearer to the user.
Since GR is the favorite Plots.jl backend, it would also make sense to start with GR as a reference implementation.
It's less orthogonal and I'm not as familiar with the API, though.
But if @jheinen is on board and willing to help me out, this could also be a great start!
cc: @daschw @mkborregaard @piever @ChrisRackauckas @Evizero @ViralBShah