# Data Driven Visualization

Version 1.0.0 (2026-10-01)

`ddv` draws concentric arc charts from CSV data. It wraps `wheelchart` and
`datatool`, adding category filtering, sorting, per-row colors, gradients,
and configurable stage labels and titles. Each row becomes a separate ring;
its start angle and angular span describe where it appears around the circle.
The CTAN catalogue name is `data-driven-visualization`; load it with
`\usepackage{ddv}`.

## Requirements and installation

Use LuaLaTeX with LaTeX 2022-06-01 or newer and the packages `wheelchart`,
`datatool`, `xcolor`, and TikZ (including `decorations.text`). Testing for this
release used TeX Live 2026. Other engines and older dependency versions have
not been verified. The examples and manual additionally use `fontspec` and
standard TeX distribution fonts; no proprietary fonts are needed.

For a local project, place `ddv.sty` beside your document. For a user-wide
installation, place it under `tex/latex/ddv/` in your user TEXMF tree and
refresh the filename database if your distribution requires it. Keep CSV
files with the document, or provide a TeX-searchable path.

Compile the included example with:

```sh
lualatex ddv-example.tex
```

No shell escape is required. LuaLaTeX uses your configured font cache;
the build does not rebuild or redirect it.

## Usage

```latex
\documentclass{article}
\usepackage[dataset={ddv-example.csv}]{ddv}
\begin{document}
\resizebox{\linewidth}{!}{%
  \DDV{stages={{Plan,Collect,Analyse,Share}},
       title={A project overview},
       slices={fontcolor=white}}}
\end{document}
```

The required CSV headers are `category,name,description,startangle,totalangle,color`.
The description may be empty. Angles are decimal degrees; a positive span
runs clockwise from the start angle. See `ddv-doc.pdf` and its source for
all options, CSV conventions, limitations, and further examples.

## Building the documentation

The CTAN archive contains everything needed to compile the manual and example:

```sh
lualatex ddv-doc.tex
lualatex ddv-doc.tex
lualatex ddv-example.tex
```

The included makefile provides `make` (manual and example), `make doc`,
`make example`, and `make clean`, all without Python. The fourteen `ddv-demo-*.tex`
files supply the manual's paired listings and rendered charts; keep them beside
`ddv-doc.tex`. Python development scripts stay in the repository and are
excluded from the CTAN archive.
The release files are listed in `MANIFEST.txt`; local domain-model examples,
institutional logos, experiments, logs, caches, and Git metadata are excluded.

## License and maintainer

Copyright 2025-2026 Lukas C. Bossert.
Distributed under the **LaTeX Project Public License, version 1.3c or later**.
LPPL maintenance status: **maintained**.
Current Maintainer: Lukas C. Bossert <bossert@itc.rwth-aachen.de>.
See `LICENSE`, `LPPL-1.3c.txt`, and `MANIFEST.txt`.

## Acknowledgements

This package builds on [wheelchart](https://ctan.org/pkg/wheelchart) by
matexmatics and [datatool](https://ctan.org/pkg/datatool) by Nicola L. C. Talbot.
The TeX Stack Exchange community helped with the original design:
[738083](https://tex.stackexchange.com/questions/738083),
[737987](https://tex.stackexchange.com/questions/737987),
[737932](https://tex.stackexchange.com/questions/737932),
[737843](https://tex.stackexchange.com/questions/737843),
[737689](https://tex.stackexchange.com/questions/737689),
[737629](https://tex.stackexchange.com/questions/737629),
[738278](https://tex.stackexchange.com/questions/738278), and
[738450](https://tex.stackexchange.com/questions/738450).
