46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
# scripts/plot_all_pairwise_scatter.py
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from meteo.dataset import load_raw_csv
|
|
from meteo.variables import iter_variable_pairs
|
|
from meteo.plots import plot_scatter_pair
|
|
|
|
|
|
CSV_PATH = Path("data/weather_minutely.csv")
|
|
OUTPUT_DIR = Path("figures/pairwise_scatter")
|
|
|
|
|
|
def main() -> None:
|
|
if not CSV_PATH.exists():
|
|
print(f"⚠ Fichier introuvable : {CSV_PATH}")
|
|
return
|
|
|
|
df = load_raw_csv(CSV_PATH)
|
|
print(f"Dataset minuté chargé : {CSV_PATH}")
|
|
print(f" Lignes : {len(df)}")
|
|
print(f" Colonnes : {list(df.columns)}")
|
|
|
|
pairs = iter_variable_pairs()
|
|
print(f"Nombre de paires de variables : {len(pairs)}")
|
|
|
|
for var_x, var_y in pairs:
|
|
filename = f"scatter_{var_x.key}_vs_{var_y.key}.png"
|
|
output_path = OUTPUT_DIR / filename
|
|
|
|
print(f"→ Trace {var_y.key} en fonction de {var_x.key} → {output_path}")
|
|
plot_scatter_pair(
|
|
df=df,
|
|
var_x=var_x,
|
|
var_y=var_y,
|
|
output_path=output_path,
|
|
sample_step=10, # un point sur 10 : ≈ 32k points au lieu de 320k
|
|
)
|
|
|
|
print("✔ Tous les graphiques de nuages de points ont été générés.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|