Modul 2 » Farben-Helligkeits-Diagramm von M4 mit Python

Du hast jetzt den Datensatz von M4 in einer Datei abgespeichert, entweder mit Aladin, oder im Modul 1 mit Python. Diese Datei kannst du nun mit Python einlesen, und so das FHD von M4 mit matplotlib erstellen. Wie das geht, hast du auf den vorherigen Seiten schon gelernt. Also viel Erfolg! Als Starthilfe kannst du folgende Zeilen in einen neuen Skript kopieren, den du z.B. fhd_M4.py nennen könntest. Lies bitte für weitere Tipps aber auch den Rest dieser Seite, falls es nicht klappen sollte.

import numpy as np
import matplotlib.pyplot as plt

katalog = np.genfromtxt("katalog_M4.tsv", delimiter="\t", names=True)
#katalog = np.delete(katalog, 0) # Entfernen der nan-Zeile, die durch die
# Striche unter den Spaltennamen ensteht.

# Als erstes geben wir mal die Namen der Spalten aus:
print("Namen der Spalten:", katalog.dtype.names)
print("Anzahl der Sterne:", len(katalog))

# Jetzt kannst du den Plot erstellen:
#plt.plot(...)

# Nicht vergessen: unbedingt die Achsen beschriften!

# Um die Richtung der y-Achse umzudrehen:
#plt.gca().invert_yaxis()

# Optional: setzte folgende Zeile direkt vor show() oder savefig(),
# dann wird der Abstand zwischen Beschrifung und Diagram optimiert:
#plt.tight_layout()

# Und zum Schluss eines von
#plt.show()
#plt.savefig("fhd_m4.png", dpi=300)

Dein Python-Skript muss dann natürlich entweder im selben Ordner wie der Datensatz von M4 sein, oder du musst den Pfad zu der TSV-Datei entsprechend anpassen.

Je nachdem, wie du den Datensatz abgespeichert hast, können die Spalten unterschiedliche Namen haben. Wenn du eine mit Aladin abgespeicherte Datei nutzt, werden die Namen von einigen Spalten beim Einlesen verändert, bedingt durch Sonderzeichen in der tsv-Datei. So heisst die Spalte "BP-RP" eventuell nun einfach "BPRP".

Guck dir also am besten in jedem Fall als erstes die Ausgabe der Spaltennamen an, um sicher zu sein, wie sie in deinem Katalog heissen. Dann kannst du damit das plt.plot() füttern.

Wenn du den mit Python abgespeicherten Katalog nutzt, ist die Farbe gar nicht als Spalte vorhanden (da wir das in daten_laden.py nicht verlangt haben), sondern nur die Magnituden in den Filtern BP und RP. Aus diesen zwei Spalten (also arrays) kannst du aber ein array mit den Farben sehr einfach errechnen.

Bis du mit deinem FHD zufrieden? Stelle sicher, dass dein Diagramm einen passenden Titel hat (verwende dazu plt.title("Dein Text")), und auch die Achsen korrekt beschriftet sind, inklusive der entsprechenden Einheiten.

Wenn du für das Modul 1 auch schon Python verwendet hast, hast du eine Datei mit den Feldsternen um M4: "katalog_feldsterne_um_M4.tsv". Nutze deinen eben geschriebenen Skript (oder eine Kopie davon), um auch mit diesen Sternen ein FHD zu erstellen. Dieses FHD der Feldsterne sollte sich von dem FHD von M4 stark unterscheiden.

Bevor wir dieses Modul beenden, schlagen wir dir noch zwei weitere Seiten vor. Als erstes könntest du ein wenig mit dem Planckschen Strahlungsgesetz experimentieren:

Oder du wiederholst das eben gemachte mit einem anderen Sternhaufen:


Letzte Aktualisierung: 2021-12-20 11:54