[PYTHON] Einfache Möglichkeit, ein HR-Diagramm mithilfe von Astroquery zu zeichnen

HR-Diagramm und Astroquery

Einführung eines einfachen Diagramms unter Verwendung der Methode zum Zeichnen des Hertzsprung-Russell-Diagramms (allgemein als HR-Diagramm bekannt) unter Verwendung der raumastronomischen Datenbank astroquery. Machen. Leute, die nicht gut darin sind, können sich vorerst mit dem Plotten vertraut machen.

Informationen zum Code finden Sie auf der Seite google Colab.

Installieren Sie astroquery

python


pip install astroquery

Geben Sie dann [astroquery] ein (https://astroquery.readthedocs.io/en/latest/).

Holen Sie sich Daten mit Astroquery

Die Daten stammen aus einer Datenbank namens Vizier

Verwenden Sie die Daten vom Hipparcos-Satelliten in.

python


from astroquery.vizier import Vizier
v = Vizier(catalog="I/239/hip_main",columns=['HIP',"Vmag","B-V","Plx"],row_limit=-1)
data = v.query_constraints()
vmag = data[0]["Vmag"]
bv = data[0]["B-V"]
plx = data[0]["Plx"]

Alles was Sie brauchen ist drei.

--Vmag: V-Band-Helligkeit --BV: Helligkeitsverhältnis zwischen B-Band und V-Band (Beachten Sie, dass die Note, obwohl sie als B-V geschrieben ist, ein Protokoll ist, aber ein Verhältnis.) --plx: jährliche Dioptrie. Ich brauche nur Entfernungsinformationen. Da die Entfernung benachbarter Sterne durch Triangulation gemessen wird, konvertieren Sie von der jährlichen Parallaxe zur Entfernung.

Ist.

Die Bedeutung der Option besteht darin, den Katalog mit catalog = "I / 239 / hip_main" anzugeben, die Spalten mit column = ['HIP', "Vmag", "BV", "Plx"] und row_limit = - anzugeben Holen Sie sich alle Daten, indem Sie die Obergrenze mit 1 entfernen.

HR-Diagramm erstellen

Zeichnen Sie einen Stern mit einer jährlichen Ausdehnung von 20 bis 25 Millisekunden (dh einem Abstand von etwa 40-50 Stk.).

def to_parsec(marcsec):
    return 1./(1e-3*marcsec)  # pc
pmin=20 # m arcsec
pmax=25 # m arcsec
dmax = to_parsec(pmin)
dmin = to_parsec(pmax)
dlabel = str("%3.1f" % dmin) + " pc to " + str("%3.1f" % dmax) + " pc"
print (dlabel) 
vmag_cut = vmag[ (plx > pmin) & (plx < pmax)]
bv_cut = bv [ (plx > pmin) & (plx < pmax)]

from matplotlib import pyplot as plt
plt.title(dlabel)
plt.xlim(-0.1,2)
plt.ylim(-13,0)
plt.xlabel("B-V")
plt.ylabel("Vmag")
plt.scatter(bv_cut, -vmag_cut, s=1)

Dann

スクリーンショット 2020-10-11 17.11.33.png

Auf diese Weise wird das HR-Diagramm angewendet. Was ist, wenn ich nicht in einiger Entfernung schneide? Bitte probieren Sie es aus. B-V ist

python



B-V \equiv log(B-Band-Helligkeit)-log(V-Band Helligkeit) = log(B-Band-Helligkeit/V-Band Helligkeit)

Da dies bedeutet, achten wir auf das Helligkeitsverhältnis.

Verwandte Seite

Recommended Posts

Einfache Möglichkeit, ein HR-Diagramm mithilfe von Astroquery zu zeichnen
Einfache Möglichkeit, mit Google Colab mit Python zu kratzen
Einfache Möglichkeit, Dateien umzubenennen
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
So laden Sie einfach CPU / Speicher unter Linux
[Kleine Geschichte] Einfache Möglichkeit, Jupyter in PDF zu konvertieren
Eine einfache Möglichkeit, Java von Python aus aufzurufen
Eine einfache Möglichkeit, ein Importmodul mit jupyter zu erstellen
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
Auch Anfänger können es schaffen! Einfache Möglichkeit, Sankey Diagram in Plotly zu schreiben