Lcdo. Luis Hernández - Universidad Central de Venezuela
Tarea 03 Módulo de DatosEjercicio 1
El diagrama de Hertzsprung-Russell
Hacia 1910 Ejnar Herzsprung y Henry Norris Russell estudiaron la relación entre magnitudes absolutas y tipos espectrales de las estrellas. Este estudio condujo al famoso diagrama H-R, herramienta fundamental para el estudio de la evolución estelar.
Se observa que las estrellas no se distribuyen aleatoriamente en dicho diagrama sino que tienden a agruparse en ciertas regiones que se denominan:
∗ Secuencia Principal: Muchas estrellas caen sobre una diagonal que va desde el extremo superior izquierdo de las estrellas muy luminosas blanco-azuladas, hasta el extremo inferior derecho de las enanas rojas.
∗ Gigantes rojas: Son estrellas de coloración rojiza m´as luminosas que las de similares colores ubicadas sobre la Secuencia Principal.
∗ Supergigantes rojas: Son estrellas de coloración rojiza o amarilla, mucho más luminosas que las gigantes rojas.
∗ Enanas blancas: Son estrellas muy débiles pero de temperaturas superficiales altas (típicas Ts ∼ 10000 K), de ahi su coloración blancuzca. Son muy débiles por ser de tama˜nos muy peque˜nos.
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import csv
import pandas as pd
#abrimos y leemos los archivos
dwarfs = pd.read_csv('data/dwarfs.csv')
medias = pd.read_csv('data/ms.csv')
giants = pd.read_csv('data/giants.txt', sep=' ')
supergiants = pd.read_csv('data/supergiants.txt', sep=' ')
#colocamos los datos en un solo dataframe
dataframes = pd.concat([dwarfs,giants,medias,supergiants])
temp = dataframes.temp
lum = dataframes.lum
Rad = dataframes.radius
#asignamos los datos de cada columna
#creamos el grafico
plt.figure(figsize = (12,8)) #tama;o del grafico
plt.title('Diagrama de Hertzsprung-Russell', fontsize = 16, fontweight = 'bold') #titulo del grafico
#titulo de los ejes
plt.xlabel('Temperatura (K)')
plt.ylabel('Luminosidad (L$_{lum}$)')
#limites de los ejes
plt.xlim(14000, 1500) #eje x invertido
plt.ylim(0.000001,100000000)
plt.yscale('log') #eje y en escala logaritmica
#texto dentro del gráfico para cada grupo de estrellas
plt.text(12000, 9000000, 'Gigantes azules',fontsize = 14)
plt.text(5200, 9000000, 'Supergigantes rojas', fontsize = 14)
plt.text(5200, 500, 'Gigantes rojas', fontsize = 14)
plt.text(13000, 8, 'Secuencia principal', fontsize = 14)
plt.text(9500, 0.005, 'Enanas blancas', fontsize = 14)
plt.scatter(temp, lum, Rad*25, temp, edgecolors = 'k', cmap = 'RdYlBu')
plt.show()