-
Notifications
You must be signed in to change notification settings - Fork 2
Description
I want to be able visualize data in a fully configurable way. It should be easy for a user who has some data to just call some generic function and pass their data along with a config to produce a visualization. These configs should be defined as composable yaml files following the convention of configuration with the rest of the repo and with all the benefits.
I want the config schema to follow the structure of Leland Wilkinson’s Grammar of Graphics and be agnostic to the visualization backend, though the first backend to be implemented will be Altair because its declarative JSON syntax is convenient for the type of config based solution that is the goal of this feature, its Vega-Lite grammar closely aligns with Wilkinson’s Grammar of Graphics structure, and it is capable of producing both static and interactive visualizations.
Some benefit are that defining configs for specific types of plots makes it trivial for a user to generate those plots by simply applying the existing config. Visualizing the same data in different ways can be accomplished simply by swapping out configs. A consistent style can be applied to all figures generated (e.g. for a publication) by using the same subconfigs for relevant sections, and that style can be easily swapped out at any time. Users (including agents) will hopefully find it easier to work directly with configs rather than python code.