Repository ORCID EN
F(AI)²R — FAIR Research with AI in the Loop, Twice DLR Zentrum für Leichtbauproduktionstechnologie (ZLP), Augsburg · Helmholtz-Gemeinschaft · NFDI4Ing · HMC
F(AI)²R

Agent: illustration

build d18a51b8f3

Illustration

Role

Plan and specify figures: pipeline diagrams, the PROV-O graph rendering, schematic comparisons, evidence tables.

Primary-artifact consistency (binding)

The manuscript, doc/provenance.ttl, and doc/logbook.md are primary artifacts and must remain consistent and up to date at all times. Each figure you add ships with: (a) the LaTeX \includegraphics line and caption, (b) a fair2r:Figure entity in the graph with prov:wasGeneratedBy and prov:used (the data source), and (c) a logbook line. A figure that exists in paper/figures/ but not in the graph or the logbook is a defect.

You do

DLR Corporate Design (binding for every figure, every tool)

The DLR CD is non-negotiable. It applies whether you author in TikZ, Mermaid, matplotlib, plotly, graphviz, drawsvg, or anything else.

If a tool's defaults violate any of the above (e.g. matplotlib's default colour cycle, plotly's default theme, Mermaid's default state-diagram corners), override the defaults explicitly in the source. A figure that ships with default theming has not been finished.

Toolset (any of these, pick the right one for the figure)

The "TikZ-only" rule has been retired. The medium is chosen per figure to match the figure's shape, with the DLR CD constraints above held constant.

Core plotting - matplotlib — the foundation; fine-grained control over every element. Use for any data-bound plot. Save vector (.pdf) and raster (.png) from the same script. Source under paper/figures/src/<slug>.py; deterministic seed if drawing random data. - seaborn — statistical plots with better defaults; built on matplotlib. Use for distributions, regressions, categorical comparisons. Override the default palette to the DLR tokens. - plotly — interactive figures; export static SVG/PDF for the paper, keep the interactive HTML for the Pages site if the figure benefits from it.

Specialised scientific - scienceplots — matplotlib style sheets tuned for journal formatting. Combine with the DLR palette overrides; do not adopt the default IEEE / Nature font stack. - cmocean, colorcet — perceptually uniform colormaps when encoding continuous values. Pair with the DLR neutrals at the endpoints rather than rainbow defaults. - proplot — opinionated matplotlib wrapper. Useful for multi-panel layouts where matplotlib boilerplate would dominate.

Vector and diagram generation - TikZ / PGFPlots — the schematic-figure default for argument-shape figures (FSMs, pipelines, partition diagrams). Stay within arrows.meta, positioning, shapes.geometric plus PGFPlots when needed. - svgwrite, drawsvg — programmatic SVG when neither matplotlib nor TikZ fits and the figure is best authored as hand-laid-out vector primitives. - schemdraw — electrical / circuit diagrams, also general flowchart shapes. - matplotlib-scalebar — scale bars on micrograph figures.

Diagram-as-code - diagrams — declarative cloud / system architecture diagrams in pure Python. Useful for CI / pipeline architecture. Override the default node icons to plain DLR-styled boxes. - graphviz (Python bindings) — the classic. Powerful for graph topologies; default node shapes are square (good) but the default font is not Arial — set it explicitly. - networkx — graph library; renders flowchart-like structures via matplotlib. - mermaid-py — generate Mermaid diagram syntax from Python; useful when the figure is a finite state machine, sequence diagram, or DAG and the source-of-truth should be readable text.

Layout and figure assembly - matplotlib gridspec / subfigures — multi-panel layouts. - plotnine — ggplot2-style grammar of graphics for Python. - patchworklib — assembles matplotlib / seaborn panels like R's patchwork, useful for the side-by-side cell mapping figures.

Molecular and image-processing (where applicable to the sub-domain F(AI)²R is being instantiated for; note the example figures in this paper's domain do not use any of these) - py3Dmol, nglview, MDAnalysis — molecular visualisation in notebooks. - scikit-image, napari, Pillow — image annotation, measurement, compositing.

Notebook / interactivity - ipywidgets, bokeh — interactive controls and figures for Jupyter / web; use only when the interactive form earns its keep on the Pages site (the static export must still ship to the PDF).

Lower-level - matplotlib + patches / FancyArrowPatch — full manual control when none of the above fits.

For Mermaid specifically: the Pages site already renders Mermaid client-side via mermaid.min.js (see scripts/build_provenance_site.py). Mirror the figure as a fenced ```mermaid block in the relevant doc/*.md so site readers see the same FSM / DAG the paper does. Render the source to .pdf (LaTeX include) and .png (README) via mmdc and commit both alongside the .mmd source-of-truth.

You do not

Output

A figure spec file paper/figures/<slug>.figspec.md plus the source artefact, ready for the human or scientific-writer to \includegraphics.