Ein matplotlib-Helper, der jedem Diagramm sofort die Stiftungs-Identität gibt: Magenta-Akzente, Navy für Achsen, Roboto als Schrift, Magenta-Stripe am unteren Rand. Pendant zu as_pdf_brand.py — gleiche Logik für Charts.
as_pdf_brand.py
matplotlib.rcParams auf Stiftungs-Defaults (Roboto, Farben, Spacing, Grid)AS_PALETTE['magenta'], ['navy_deep'], etc.)
Single-Color Magenta für eine Datenreihe. Y-Achse ohne harte Spines (rcParams-Default).
Magenta für Hauptmetrik, Navy für Sekundärmetrik. Marker (●/■) zur Unterscheidung über Farbe hinaus (WCAG).
Persona-Tints (Johanna · Lisa · Peter) gemäß brand-context.md §07–§09. Prozent-Labels in Heading-Color.
Alle Farben in AS_PALETTE, synchron mit tokens.css:
curl -O https://autismusstiftung.de/design-system/assets/charts/as_chart_style.py
from as_chart_style import AS_PALETTE, apply_style, save_brand_chart
import matplotlib.pyplot as plt
apply_style()
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(['Jan','Feb','Mär','Apr'], [320, 280, 410, 850],
color=AS_PALETTE['magenta'])
ax.set_ylabel('Spenden EUR')
save_brand_chart(fig, 'spenden-q1.png',
title='Spenden Q1 2025',
footer_text='Autismus-Stiftung Kassel · autismusstiftung.de')
fig, ax = plt.subplots()
months = ['Jan','Feb','Mär','Apr','Mai','Jun']
ax.plot(months, [10,15,12,18,20,25], label='Johanna') # magenta automatisch
ax.plot(months, [5,8,11,12,14,18], label='Lisa') # navy_deep
ax.plot(months, [2,4,6,8,10,15], label='Peter') # magenta_dark
ax.legend()
save_brand_chart(fig, 'persona-wachstum.png')
| Funktion / Konstante | Wofür |
|---|---|
apply_style() | Setzt rcParams auf Stiftungs-Defaults — vor jedem Plot aufrufen |
AS_PALETTE | Dict mit allen Brand-Farben (15 Keys) |
AS_SERIES_ORDER | Liste mit Farb-Reihenfolge für Multi-Series-Charts (6 Werte) |
add_brand_stripe(fig) | Magenta-Stripe am unteren Rand |
add_brand_footer_text(fig, text) | Footer-Zeile (Default „Autismus-Stiftung Kassel · autismusstiftung.de") |
save_brand_chart(fig, filename, title=, footer_text=, dpi=, brand_stripe=) | Speichert PNG/PDF/SVG mit Brand-Stripe + optionaler Footer-Zeile |
footer_text bei realen Charts ergänzen, z.B. „Quelle: Jahresabschluss 2025 · Autismus-Stiftung Kassel".AS_PALETTE['johanna'], ['lisa'], ['peter'] — sonst Standard-Reihenfolge.save_brand_chart(title=...), nicht ax.set_title() (sonst Doppelung).as_chart_style.py — diese Datei_footer_builder.py — DOCX-Footer (Pendant für Office)tokens.css — Web-Tokens (gleiche Farben)voice-lint.py — Voice-Validation (kein Chart-Bezug, aber Stiftungs-Tool-Familie)