5109b6505c
Convert both pyproject.toml files to the uv_build backend and turn the repo into a proper uv workspace (plotstyle moved to src layout, since uv_build requires the module in its own subdirectory). Dev tooling moves from an optional-dependencies extra to a dependency-group, and plotstyle's matplotlib dependency is now its own rather than a gallery "plotting" extra. Gitea Actions workflows and the Dockerfile now use astral-sh/setup-uv, uv sync, uv run, uv build, and uv publish throughout instead of pip, build, and twine. Also fixes .dockerignore, which was excluding uv.lock, deploy/, and README.md and would have broken even the previous Dockerfile's COPY of deploy/entrypoint.sh. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# plotstyle
|
|
|
|
A KIT (Karlsruhe Institute of Technology) corporate-design matplotlib
|
|
styling toolkit — a validated color palette, consistent spines/ticks/
|
|
gridlines, LaTeX text in a modern sans font, and a few building-block
|
|
functions (figure titles with a parameters subtitle, a same-size colorbar
|
|
helper, an outside-axes legend, panel labels) for producing figures that
|
|
look consistent across a thesis and a slide deck.
|
|
|
|
Requires a local LaTeX toolchain (`latex` + `dvipng`) — `plotstyle` always
|
|
renders text through real LaTeX, there's no fallback.
|
|
|
|
```python
|
|
import numpy as np
|
|
import plotstyle as ps
|
|
|
|
ps.use() # once, before creating any figure
|
|
|
|
fig, ax = ps.new_figure(
|
|
"thesis-single",
|
|
title="Measured signal",
|
|
params={"N": 512, "seed": 42},
|
|
)
|
|
x = np.linspace(0, 10, 200)
|
|
ax.plot(x, np.sin(x), label="signal")
|
|
ax.set_xlabel("Time (s)")
|
|
ax.set_ylabel(r"Amplitude $A(t)$")
|
|
ps.style_legend(ax, title="Series")
|
|
|
|
ps.savefig(fig, "plots/measured_signal", formats=("pdf",))
|
|
```
|
|
|
|
This package is developed as part of the
|
|
[ETPlot](https://git.larsbogner.de/lars/ETPlot) monorepo, where it is paired
|
|
with `gallery`, a static HTML gallery generator that turns directories of
|
|
plot PDFs into a browsable website — `plotstyle` has no code dependency on
|
|
`gallery`, the two only meet on disk via the PDF (and optional
|
|
`metadata.yaml`) files a `plotstyle` script writes out. See that repo's
|
|
`examples/plotstyle_showcase.ipynb` for a fully rendered tour of every
|
|
function, and `plotstyle/CLAUDE.md` for the full API reference.
|