Investigue sobre el diagrama de Hertzprung-Russell, una herramienta muy potente en astronomia, y describa un poco al respecto para darle contexto al resto de la tarea
El objetivo es generar un diagrama HR lo más parecido al de esta referencia. No lucirá idéntico por que no se usarán exactamente los mismos datos,y las unidades pueden ser ligeramente distinta. La idea sí es dejar su figuralo más parecida a la de referencia en el estilo: colores, escalas en los ejes, tamaño de los marcadores, leyendas, textos en el gráfico, etc
Los datos para crear la figura están en la carpeta Data. Cada tabla contiene las informaciones sobre un tipo de estrellas según indican los nombres de archivo. La información viene en 3 columnas: luminosidad en luminosidades solares, Temperatura en Kelvin y Radio de la estrella en unidades arbitrarias
La idea es que cada estrella en el gráfico tenga un color representativo de su temperatura (que estrellas frías son rojas y estrellas calientes son azules) y que el tamaño del símbolo sea representativo del tamaño de cada estrella para diferenciar entre enanas, gigantes y estrellas de secuencia principal
Busque que su código sea semi automático; es indispensable leer los datos desde el propio programa, no copiarlos a mano, y hallar una forma de obtener los tamaños y colores sin declararlos uno a uno
Las principales propiedades observacionales de las estrellas, la luminosidad y la temperatura superficial están relacionadas, esta relación es descrita en una gráfica 2-D llamada Diagrama de Hertzsprung Russell, en el cual el eje vertical representa la luminosidad y el eje horizontal representa la temperatura superficial; por razones históricas la temperatura crece hacia la izquierda. Las estrellas son representadas por un punto con coordenadas (T,L) en este diagrama y algunas regiones resultan ser más densamente pobladas que otras. En muchos diagramas H-R la luminosidad de la estrella está representada por su magnitud y la temperatura superficial representada por lo sipo espectral o por índices de color B-V.
El diagrama de H-R provee una instantánea de la estrella en diferentes estados de evolución. A medida que las estrellas evolucionan, ellas pasan la mayor parte de sus vidas quemando hidrógeno, por lo tanto las estrellas que están en su etapa de quemar hidrógeno (como el Sol), dan lugar a una región del diagrama más densamente poblada. A esta región se le llama Secuencia Principal. La mayoría de estrellas observadas están en la secuencia principal. La estrellas más calientes de la secuencia principal son las supergigantes azules y gigantes azules y las más frías las enanas rojas.
Algo importante que destacar es que una estrella no evoluciona a lo largo de la secuencia principal, evoluciona hacia la secuencia principal cuando una protoestrella se contrae y enciende hidrógeno. Luego, la estrella evoluciona de la secuencia principal y se mueve hacia la región de Gigantes Rojas del diagrama H-R, cuando el hidrógeno se ha agotado. La quema de hidrógeno en el núcleo cesa, pero continúa en una capa fina alrededor de este. El núcleo se contrae y se calienta, pero las capas externas se expanden para formar una estrella de alta luminosidad y baja temperatura superficial. Estas estrellas son más brillantes que estrellas de la secuencia principal que tengan la misma temperatura superficial, o tienen menor temperatura para luminosidades iguales, resultando así que sus espectros están desplazados hacia longitudes de onda más largas y su color es rojizo y tienen radios más grandes.
Otra región del diagrama de H-R, corresponde a bajas luminosidades y temperaturas superficiales altas, las llamadas Enanas Blancas. Estas estrellas poseen radios del orden del de la tierra pero sus masas son cercanas a las del Sol, haciendo que tengan densidades muy altas. Otras regiones de estrellas mucho más grandes que las gigantes se encuentran en la esquina superior derecha y son las Supergigantes.
Dependiendo de la masa de la estrella, la estrella puede quemar otros elementos o no. La estrella puede evolucionar terminando como una Enana blanca, puede llegar a explotar como una supernova dejando una estrella de neutrones o un agujero negro.
En este ejercicio realizaremos un Diagrama de Hertzsprung-Russell con algunos datos de estrellas que pertenecen a distintas categorías del diagrama, como vimos anteriormente (Enanas Blancas, Gigantes, Secuencia Principal y Supergigantes).
Primero importamos las librerías necesarias.
import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
Leemos cada archivo con los datos de las estrellas con pandas
data_dwarfs = pd.read_csv("./data/dwarfs.csv")
data_giants = pd.read_csv("./data/giants.txt", sep = " ")
data_ms = pd.read_csv("./data/ms.csv")
data_supergiants = pd.read_csv("./data/supergiants.txt", sep = " ")
Visualizamos los datos de cada archivo
print('Datos de Enanas blancas', '\n')
print(data_dwarfs, '\n')
print('Datos de Gigantes', '\n')
print(data_giants, '\n')
print('Datos de la Secuencia Principal', '\n')
print(data_ms, '\n')
print('Datos de Supergigantes', '\n')
print(data_supergiants, '\n')
Datos de Enanas blancas
lum temp radius
0 0.000109 5050.644696 7.096930
1 0.000128 5967.543450 4.583996
2 0.000230 6674.161524 4.151078
3 0.000269 7216.762974 3.491754
4 0.000472 7795.184395 3.472736
5 0.000613 8402.695283 3.077338
Datos de Gigantes
lum temp radius
0 304.228573 3654.601099 145.483474
1 58.884366 3808.609875 66.642938
2 9.246982 3991.751692 27.603430
3 58.505945 4164.818180 50.832968
4 32.033176 4425.773883 33.290931
Datos de la Secuencia Principal
lum temp radius
0 0.000776 3577.003926 0.814703
1 0.002638 3691.168543 1.209778
2 0.006823 3793.506494 1.630027
3 0.019733 3862.471423 2.361574
4 0.040402 3963.530109 2.910924
.. ... ... ...
85 46.302027 10625.406634 2.528836
86 177.827941 10896.877545 4.016161
87 111.480780 11231.323162 3.043018
88 140.345987 11709.130116 2.944580
89 303.389118 13010.740359 2.921536
[90 rows x 3 columns]
Datos de Supergigantes
lum temp radius
0 359749.335156 3801.042587 278.055832
1 416869.383470 4398.962354 190.278395
2 1000000.000000 5465.163392 140.809113
3 920449.571753 7837.395137 46.187556
4 779830.110523 10200.701561 19.604244
Con los datos (Temperaturas, Luminosidades y Radios) de cada archivo procedemos a graficar.
#Temperaturas, Luminosidades y Radios de cada archivo
#Enanas Blancas
td = data_dwarfs.iloc[:, 1]
ld = data_dwarfs.iloc[:, 0]
rd = data_dwarfs.iloc[:, 2]
#Gigantes
tg = data_giants.iloc[:, 1]
lg = data_giants.iloc[:, 0]
rg = data_giants.iloc[:, 2]
#Secuencia Principal
tm = data_ms.iloc[:,1]
lm = data_ms.iloc[:,0]
rm = data_ms.iloc[:,2]
#Supergigantes
ts = data_supergiants.iloc[:,1]
ls = data_supergiants.iloc[:,0]
rs = data_supergiants.iloc[:,2]
#Creamos una nueva figura de tamaño 15x13 pulgadas
fig = plt.figure(figsize = (15,13))
plt.subplot(111)
plt.yscale('symlog') #Escala logaritmica en el eje de luminosidades para visualizar mejor
plt.xlim(14000,2500) #Límites invertidos para el eje de temperaturas
#Título y ejes
plt.xlabel('Temperatura (K)', color = 'black', family = 'serif', size = '20')
plt.ylabel('Luminosidad ($L_{\odot}$)', color = 'black', family = 'serif', size = '20')
plt.title('Diagrama Hertzprung-Russell', color = 'darkred', family = 'serif', size = '30')
#Gráfica para todos los datos
plt.scatter(td, ld, c = 'white', s = rd*30, edgecolors='black')
plt.scatter(tg, lg, c = 'red', s = rg*30, edgecolors='black')
plt.scatter(tm, lm, c = tm, cmap = 'RdYlBu', s = rm*30, edgecolors='black')
plt.scatter(ts, ls, c = ts, cmap = 'RdYlBu', s = rs*30, edgecolors='black')
#Texto para cada categoría de estrellas
plt.text(9000,0.5, "Enanas blancas", color = 'purple', family = 'serif', size = 20)
plt.text(4500,1000, "Gigantes", color = 'darkred', family = 'serif', size = 20)
plt.text(9000,800, "Secuencia Principal", color = 'black', family = 'serif', size = 20)
plt.text(6000,60000, "Supergigantes", color = 'darkred', family = 'serif', size = 20)
plt.show()
Observamos el Diagrama de Hertzsprung-Russell para los datos de algunas estrellas. Vemos que se utilizaron algunos colores para reflejar el cambio de temperatura en el diagrama. Para la secuencia principal se utilizo para el color un degradado. Para las supergigantes se utilizó el mismo degradado para que se notará esto también. Para las gigantes se colocó un color rojo y para las enanas blancas un color blanco. Se puede ver que hacia estrellas más calientes (hacia la izquierda del diagrama) se van haciendo azules, mientras que si se va hacia temperaturas más frías (hacia la derecha del diagrama) se hacen rojas. También vemos que con los datos del radio pudimos ajustar cada uno de los puntos para que hiciera notar el radio de cada estrella.