This is a package that aims to provide generic plotting recipes for tree like data structures.
As such the recipes should only require that your data structure fulfills the AbstractTrees interface,
i.e. has AbstractTrees.children(YourType) defined.
Optionally, BasicTreePlots.distance(YourType) and BasicTreePlots.label(YourType) can be defined to allow plotting trees
with variable distances between children and parent nodes and pretty printing of each node in the tree respectively.
Currently, we only provide Makie.jl backends, but are interested in contributions for recipes for Plots.jl and TidyPlots.jl.
As well as any other backends or custom tree structures that don't work automatically.
See the ext folder for example extensions.
using Pkg
Pkg.add("BasicTreePlots")
Or the development version with
using Pkg
Pkg.add("https://github.com/BenjaminDoran/BasicTreePlots.jl.git")
using CairoMakie, BasicTreePlots
tree = ((:a, :b), (:c, :d))
treeplot(tree)
See Documentation for more details.
If you use BasicTreePlots.jl in your work, please cite using the reference given in CITATION.cff.
If you want to make contributions of any kind, please first that a look into our contributing guide directly on GitHub or the contributing page on the website