1
2025-11-26 17:22:57 +01:00

61 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Premiers graphiques
On peut désormais tracer nos premiers graphiques simples et bruts à partir du dataset minuté construit au chapitre précédent.
S'ils ne sont pas encore très instructifs par rapport à ce que nous fournissent déjà Home Assistant et InfluxDB, ils nous permettent au moins de nous assurer que tout fonctionne, que les données semblent cohérentes, et que la chaîne « export → préparation → visualisation » tient la route.
Les scripts de ce chapitre sappuient sur [`pandas`](https://pandas.pydata.org/) et sur la bibliothèque de visualisation [`Matplotlib`](https://matplotlib.org/) (via le module `meteo.plots`) pour produire des graphiques standards : séries temporelles, _heatmaps_, calendriers.
Les fichiers CSV correspondant à chaque figure sont conservés dans le sous-dossier `data/` de ce chapitre, ce qui permet de réutiliser directement les séries pré-agrégées si besoin.
```shell
python "docs/03 - Premiers graphiques/scripts/plot_basic_variables.py"
```
Ce script lit `data/weather_minutely.csv`, sélectionne éventuellement une fenêtre temporelle (par exemple les derniers jours si lon utilise loption `--days`) puis choisit une fréquence dagrégation adaptée pour ne pas saturer le graphique en points.
Pour chaque variable (température, pression, humidité, pluie, vent, illuminance, élévation du soleil), il applique un style par défaut : courbe continue pour les variables lisses, diagramme en barres pour la pluie, nuage de points pour la direction du vent, etc.
Lidée est dobtenir une première vue densemble de la [série temporelle](https://fr.wikipedia.org/wiki/S%C3%A9rie_temporelle) de chaque variable, sans prise de tête :
- vérifier le cycle quotidien de la température et de lélévation solaire ;
- repérer les paliers ou dérives de capteurs (pression trop plate, humidité coincée, etc.) ;
- confirmer que les unités, ranges et horodatages sont plausibles.
![](figures/temperature_overview.png)
![](figures/pressure_overview.png)
![](figures/humidity_overview.png)
![](figures/rain_rate_overview.png)
![](figures/wind_speed_overview.png)
![](figures/wind_direction_overview.png)
![](figures/illuminance_overview.png)
![](figures/sun_elevation_overview.png)
## Vues calendrier
```shell
python "docs/03 - Premiers graphiques/scripts/plot_calendar_overview.py"
```
Le second script propose une vue complémentaire sous forme de _calendrier thermique_ (une [carte de chaleur](https://fr.wikipedia.org/wiki/Carte_de_chaleur) disposée en jours et mois).
À partir du même dataset minuté, il calcule des moyennes quotidiennes (température, humidité, pression, illuminance, vent) ou des cumuls quotidiens (pluie), puis remplit une matrice « mois x jours » pour lannée la plus récente disponible.
Ces vues servent surtout à :
- repérer rapidement les saisons, épisodes pluvieux ou périodes de vent soutenu ;
- détecter des trous dans la série (jours entièrement manquants) ;
- avoir un aperçu global de lannée sans zoomer/dézoomer en permanence sur une longue série temporelle.
![](figures/calendar/calendar_temperature_2025.png)
![](figures/calendar/calendar_pressure_2025.png)
![](figures/calendar/calendar_humidity_2025.png)
![](figures/calendar/calendar_rain_2025.png)
![](figures/calendar/calendar_illuminance_2025.png)
![](figures/calendar/calendar_wind_2025.png)