1
etude_lego_jurassic_world/scripts/plot_minifig_characters_timeline.py

32 lines
1.1 KiB
Python

"""Trace la présence annuelle des personnages représentés par les minifigs (hors figurants)."""
from pathlib import Path
from lib.plots.minifig_characters import plot_character_year_presence
from lib.rebrickable.minifig_characters import (
aggregate_presence_by_year,
load_minifigs_by_set,
load_sets_enriched,
write_presence_by_year,
)
MINIFIGS_BY_SET_PATH = Path("data/intermediate/minifigs_by_set.csv")
SETS_ENRICHED_PATH = Path("data/intermediate/sets_enriched.csv")
PRESENCE_PATH = Path("data/intermediate/minifig_characters_year_presence.csv")
DESTINATION_PATH = Path("figures/step22/minifig_characters_timeline.png")
EXCLUDED_CHARACTERS = ["Figurant"]
def main() -> None:
"""Construit le total par année et trace la heatmap."""
minifigs = load_minifigs_by_set(MINIFIGS_BY_SET_PATH)
sets_years = load_sets_enriched(SETS_ENRICHED_PATH)
presence = aggregate_presence_by_year(minifigs, sets_years, excluded_characters=EXCLUDED_CHARACTERS)
write_presence_by_year(PRESENCE_PATH, presence)
plot_character_year_presence(PRESENCE_PATH, DESTINATION_PATH)
if __name__ == "__main__":
main()