Committee chart generation (matplotlib SVG outputs).
generate_committee_charts(summary: dict, detail: dict, output_dir, inst_timeline=None) -> None
Generate SVG charts for committee statistics.
Source code in src/generators/committee_stats/charting.py
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 | def generate_committee_charts(summary: dict, detail: dict, output_dir, inst_timeline=None) -> None:
"""Generate SVG charts for committee statistics."""
charts_dir = Path(output_dir) / "assets/charts"
charts_dir.mkdir(parents=True, exist_ok=True)
_chart_top_countries(detail, charts_dir / "committee_countries.svg")
_chart_top_countries(detail, charts_dir / "committee_countries_systems.svg", area="systems")
_chart_top_countries(detail, charts_dir / "committee_countries_security.svg", area="security")
_chart_continents(detail, charts_dir / "committee_continents.svg")
_chart_continents(detail, charts_dir / "committee_continents_systems.svg", area="systems")
_chart_continents(detail, charts_dir / "committee_continents_security.svg", area="security")
_chart_top_institutions(detail, charts_dir / "committee_institutions.svg")
_chart_top_institutions(detail, charts_dir / "committee_institutions_systems.svg", area="systems")
_chart_top_institutions(detail, charts_dir / "committee_institutions_security.svg", area="security")
_chart_committee_sizes(summary, charts_dir / "committee_sizes.svg")
_chart_continent_timeline(detail, charts_dir / "committee_continent_timeline.svg")
logger.info(f" Committee charts generated in {charts_dir}")
|