From b7314a6b9d3a8dc1da57179801a820f2cd604961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yineth=20Melissa=20P=C3=A9rez=20Ayala?= <ympereza@unal.edu.co> Date: Wed, 10 Feb 2021 21:59:13 -0500 Subject: [PATCH] Add new file --- "Entrega animaci\303\263n.ipynb" | 78 ++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 "Entrega animaci\303\263n.ipynb" diff --git "a/Entrega animaci\303\263n.ipynb" "b/Entrega animaci\303\263n.ipynb" new file mode 100644 index 0000000..dc62cb8 --- /dev/null +++ "b/Entrega animaci\303\263n.ipynb" @@ -0,0 +1,78 @@ +#Ejercicio 2, clase 3. Melissa Pérez +#En este ejercicio se intenta realizar una animación a partir del diagrama de Hertzprung-Russell. +import matplotlib.pyplot as plt +import matplotlib.animation as animation +%matplotlib notebook +import matplotlib.pyplot as plt +import matplotlib.animation as animation +%matplotlib notebook +#Se importan las librerÃas necesarias para la animación. + +import pandas +data = pandas.read_csv("data_dwarfs.csv") +j +lum = list(data["lum"]) +temp = list(data["temp"]) +radius = list(data["radius"]) +​ +colores = [] +for j in range(len(temp)): + colores.append(2**13) +data = pandas.read_csv("data_ms.csv") +lum = lum + list(data["lum"]) +temp = temp + list(data["temp"]) +radius = radius + list(data["radius"]) +colores = colores + list(data["temp"]) +data = pandas.read_csv("data_supergiants.txt", sep=" ") +lum = lum + list(data["lum"]) +temp = temp + list(data["temp"]) +radius = radius + list(data["radius"]) +colores = colores + list(data["temp"]) +data = pandas.read_csv("data_giants.txt", sep=" ") +lum = lum + list(data["lum"]) +temp = temp + list(data["temp"]) +radius = radius + list(data["radius"]) +colores = colores + list(data["temp"]) +#Con la librerÃa pandas se hace la lectura de datos y se guardan en 3 listas como en el ejercicio 1. También se crea una lista colores, de nuevo, como #en el ejercicio 1. Con ella se define el c del cmap. + +import matplotlib.pyplot as plt +​ +​ +​ +fig, ax = plt.subplots() +fig.figsize=(12,10) +#ax.scatter(temp, lum, s=radius, c=colores, cmap = 'coolwarm_r',alpha=1) +​ +ax.scatter([],[]) +def init(): + line = ax.scatter([],[]) + plt.show() + return line +def animate(i): + lum2 = lum[:i+1] + temp2 = temp[:i+1] + radius2 = radius[:i+1] + colores2 = colores[:i+1] + line = ax.scatter(temp2, lum2, s=radius2, c=colores2, cmap = 'coolwarm_r',alpha=1) + plt.show() + return line + +ax.set_xlabel("Temperatura", fontsize=15) +ax.set_ylabel("Luminosidad", fontsize=15) +ax.set_xlim(15000, 3000) +ax.set_ylim(0.00001, 10000000) +plt.xscale("log", base=2) +plt.yscale("log") +ax.set_title('HRD') +​ +plt.xticks([12000,9000,6000,3000],[12000,9000,6000,3000]) +plt.yticks([10**-5,10**-2,10**1,10**4,10**7]) +ax.grid(True) +fig.tight_layout() +​ +anim = FuncAnimation(fig, animate, init_func=init, frames=len(lum),interval=40) +anim.save('prueba.gif') +#plt.show() +Figure 1 +MovieWriter ffmpeg unavailable; using Pillow instead. +#Se crea una animación, sin embargo no es la deseada ya que no aparecen una a una las estrellas, sino que van alternando de color. -- GitLab