Skip to content

Conversion Recipe pipeline

Simon edited this page Mar 31, 2021 · 1 revision

Types of Recipes needing access to the axis

Recipes operating on the fabric of space itself

  • acccess: limits, camera projection, transformation
  • examples: fine grained control over projection (half data, half pixel space transformations), hline, vline

Theming

  • access: colors, gridgap, font, tickspacing
  • examples: i just know, if you plot XY, it will look stunning like this

Add information

  • access: title, x/ylabels, legend labels
  • examples: Complex numbers, Statistical types, series plots

Units / Dataspace

  • acccess: tickrange + ticklabels
  • examples: categorical variables, logspace, geological projections

Main question

Most access to the axis doesn't compose. If I set the the ticks & labels of an axis, I won't be able to plot anything of another type to that axis. Do we still want to just give all recipes access to the axis and have this work by convention, or do we want to offer different recipe types for the different types of axis mutations. E.g. styling is compatible with having any other plot inserted to the same axis, but it can be unexpect that plot!(ax, xy) will change the styling for all following plots. Unit changes can work with title changes, but prohibit other plots to plot into them ... So those basically mean, we need to change the type of the axis. We can also think about disallowing any non composable access to the axis, but offer recipes instead where you 100% own the axis (subfigure recipe). This goes in the direction of what AOG.jl + TabularMakie.jl have been doing (although without AbstractPlotting support to make this nice & easy & composable).