A light-touch approach to designing, building, and describing visualizations using literate programming in Markdown.
Litvis is a literate visualization framework that combines Markdown, Elm, and Vega-Lite to create interactive, reproducible data visualizations with integrated narrative text. It allows developers and researchers to design, build, and describe visualizations in a single document where code execution and chart rendering happen in real-time. The tool solves the problem of separating visualization code from its documentation, enabling more transparent and maintainable data storytelling.
Data visualization researchers, educators, and developers who need to create reproducible, well-documented interactive charts and want to integrate narrative explanation directly with their code.
Developers choose Litvis for its seamless integration of live Elm code execution, interactive graphics, and Markdown-based documentation in a single environment. Its unique selling point is the literate programming approach that treats visualization design and exposition as a unified process, supported by features like cross-block referencing and branching narratives.
Literate Visualization: Theory, software and examples
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Elm code blocks compile and execute in real-time with results embedded directly in the markdown, enabling immediate feedback and iterative design as shown in the hello world and chart examples.
Symbols defined in one code block can be referenced in others or in text using triple-hat notation (^^^), allowing seamless integration of code and narrative, as demonstrated in the parameterized references example.
Supports interactive charts and user input controls via Vega-Lite/Vega specifications, with the 'interactive' attribute making visualizations live, as highlighted in the interaction GIF.
Branching narratives and YAML-based schemas provide scaffolding for organizing and validating content around visualizations, facilitating reproducible research and design exploration.
Requires VS Code with specific extensions (markdown-preview-enhanced-with-litvis, prettier, elm tooling), limiting editor flexibility and adding setup complexity for other environments.
Heavily tied to Elm and elm-vega/vegalite libraries, restricting visualization options and requiring Elm proficiency, which may not align with teams using more common web tech stacks.
Multi-step installation involving Node.js, Elm, npm, Prettier, and editor configurations, as detailed in the setup instructions, creating a barrier to quick adoption.