« Une courbe de température en Python » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 38 : | Ligne 38 : | ||
{{ 18.5 | float }} | {{ 18.5 | float }} | ||
{% elif now().hour == 23 %} | {% elif now().hour == 23 %} | ||
{{ | {{ 10.0 | float }} | ||
{% endif %} | {% endif %} | ||
</pre> | </pre> | ||
| Ligne 74 : | Ligne 74 : | ||
# Heures et températures | # Heures et températures | ||
heures = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] | heures = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] | ||
temperatures = [17.0, 18.0, 18.0, 18.0, 18.0, 18.5, 18.5, 19.0, 18.0, 18.0, 18.0, 18.0, 18.5, 19.0, 19.0, 19.0, 18.5, | temperatures = [17.0, 18.0, 18.0, 18.0, 18.0, 18.5, 18.5, 19.0, 18.0, 18.0, 18.0, 18.0, 18.5, 19.0, 19.0, 19.0, 18.5, 10.0] | ||
# Création du graphique | # Création du graphique | ||
Version du 16 novembre 2023 à 22:28
Après avoir paramétré une automatisation Home Assistant pour régler la température de consigne de ma chaudière, l'idée m'est venue d'en tracer la courbe, pour jouer.
Je suis donc parti de cet extrait de script pour demander à Chatgpt de le remettre en forme,
{% if now().hour == 6 %}
{{ 17 | float }}
{% elif now().hour == 7 %}
{{ 18 | float }}
{% elif now().hour == 8 %}
{{ 18 | float }}
{% elif now().hour == 9 %}
{{ 18 | float }}
{% elif now().hour == 10 %}
{{ 18 | float }}
{% elif now().hour == 11 %}
{{ 18.5 | float }}
{% elif now().hour == 12 %}
{{ 18.5 | float }}
{% elif now().hour == 13 %}
{{ 19 | float }}
{% elif now().hour == 14 %}
{{ 18 | float }}
{% elif now().hour == 15 %}
{{ 18 | float }}
{% elif now().hour == 16 %}
{{ 18 | float }}
{% elif now().hour == 17 %}
{{ 18 | float }}
{% elif now().hour == 18 %}
{{ 18.5 | float }}
{% elif now().hour == 19 %}
{{ 19 | float }}
{% elif now().hour == 20 %}
{{ 19 | float }}
{% elif now().hour == 21 %}
{{ 19 | float }}
{% elif now().hour == 22 %}
{{ 18.5 | float }}
{% elif now().hour == 23 %}
{{ 10.0 | float }}
{% endif %}
Puis je lui ai demandé de le présenter proprement, ce qu'il a fait avec application,
6h : 17.0°C 7h : 18.0°C 8h : 18.0°C 9h : 18.0°C 10h : 18.0°C 11h : 18.5°C 12h : 18.5°C 13h : 19.0°C 14h : 18.0°C 15h : 18.0°C 16h : 18.0°C 17h : 18.0°C 18h : 18.5°C 19h : 19.0°C 20h : 19.0°C 21h : 19.0°C 22h : 18.5°C 23h : 10°C
Et enfin j'ai demandé une courbe, et il m'a généré ce script, qui marche très bien !
https://wiki.memoirevive79.mooo.com/images/8/84/Figure_1.png
import matplotlib.pyplot as plt
# Heures et températures
heures = [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
temperatures = [17.0, 18.0, 18.0, 18.0, 18.0, 18.5, 18.5, 19.0, 18.0, 18.0, 18.0, 18.0, 18.5, 19.0, 19.0, 19.0, 18.5, 10.0]
# Création du graphique
plt.figure(figsize=(10, 6))
plt.plot(heures, temperatures, marker='o', linestyle='-', color='b')
# Ajout de titres et de labels
plt.title('Variation de la température par heure')
plt.xlabel('Heure')
plt.ylabel('Température (°C)')
# Affichage du graphique
plt.grid(True)
plt.tight_layout()
plt.show()