| Étoile | Température (K) | Luminosité (L☉) |
|---|---|---|
| Soleil | 5800 | 1 |
| Sirius A | 9900 | 25 |
| Betelgeuse | 3500 | 120000 |
| Rigel | 12000 | 120000 |
| Proxima Centauri | 3000 | 0.001 |
| Vega | 9600 | 40 |
| Altair | 7700 | 11 |
| Deneb | 8500 | 200000 |
| Spica | 22000 | 20000 |
| Antares | 3600 | 100000 |
| Arcturus | 4300 | 170 |
| Capella | 4900 | 78 |
| Pollux | 4800 | 43 |
| Fomalhaut | 8600 | 16 |
| Aldebaran | 3900 | 500 |
| Castor A | 10200 | 52 |
| Bellatrix | 22000 | 9000 |
| Canopus | 7400 | 10000 |
| Achernar | 15000 | 3150 |
| Barnard’s Star | 3100 | 0.0004 |
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
# Noms des étoiles (déjà fournis)
noms = [
"Soleil", "Sirius A", "Betelgeuse", "Rigel", "Proxima Centauri",
"Vega", "Altair", "Deneb", "Spica", "Antares",
"Arcturus", "Capella", "Pollux", "Fomalhaut", "Aldebaran",
"Castor A", "Bellatrix", "Canopus", "Achernar", "Barnard’s Star"
]
# À compléter par les élèves (copier les valeurs du tableau)
temperatures = [5800, 9900, 3500, 12000, 3000,
9600, 7700, 8500, 22000, 3600,
4300, 4900, 4800, 8600, 3900,
10200, 22000, 7400, 15000, 3100]
luminosites = [1, 25, 120000, 120000, 0.001,
40, 11, 200000, 20000, 100000,
170, 78, 43, 16, 500,
52, 9000, 10000, 3150, 0.0004]
# Classes spectrales (déjà préparées)
classes = ["G","A","M","B","M",
"A","A","A","B","M",
"K","G","K","A","K",
"A","B","F","B","M"]
# Couleurs associées
couleurs = {
"O": "blue",
"B": "deepskyblue",
"A": "cyan",
"F": "green",
"G": "yellow",
"K": "orange",
"M": "red"
}
plt.figure(figsize=(8,6))
# Tracé des points avec couleurs
for i in range(len(noms)):
plt.scatter(temperatures[i], luminosites[i],
color=couleurs[classes[i]])
plt.text(temperatures[i], luminosites[i], noms[i], fontsize=8)
# Échelles et conventions HR
plt.xscale("log")
plt.gca().invert_xaxis()
plt.yscale("log")
plt.xlabel("Température (K)")
plt.ylabel("Luminosité (L☉)")
plt.title("Diagramme HR (échelle log-log)")
# Légende des classes spectrales
patches = [mpatches.Patch(color=couleurs[c], label=c) for c in couleurs]
plt.legend(handles=patches, title="Classe spectrale")
plt.show()
Cliquez sur ce lien pour ouvrir le programme directement dans Capytale : Lancer le programme sur Capytale