Skip to content
Snippets Groups Projects
Commit f2f83f97 authored by Jesus David Bermudez Sanchez's avatar Jesus David Bermudez Sanchez
Browse files

no se que se modifico

parent 9bb2a325
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
# *Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá* # *Mi nombre es Jesus David Bermudez Sanchez, soy estudiante de la Maestria en Fisica de la Universidad Nacional de Colombia, Sede Bogotá*
--- ---
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## **Ejercicio No. 1** ## **Ejercicio No. 1**
+ Investigue sobre el diagrama de Hertzprung-Russell, una herramienta muy + 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. 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 figura lo 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. + 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 figura lo 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 + 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 + 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 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 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 cada estrella para diferenciar entre enanas, gigantes y estrellas de
secuencia principal secuencia principal
+ Busque que su código sea semi automático; es indispensable leer + 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 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 de obtener los tamaños y colores sin declararlos uno a uno
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
!pwd !pwd
``` ```
%% Output %% Output
/home/bernmudezj/ejercicios-clase-03-datos /home/bernmudezj/ejercicios-clase-03-datos
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
!ls !ls
``` ```
%% Output %% Output
data README.md Untitled.ipynb data ejercicio1.ipynb ejercicio2.ipynb README.md
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
import numpy as np import numpy as np
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
``` ```
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# Las columnas son Luminosidad, Temperatura, Radio # Las columnas son Luminosidad, Temperatura, Radio
# Las unidades de estas columnas son # Las unidades de estas columnas son
# [Luminosidad]=Luminosidades Solares; # [Luminosidad]=Luminosidades Solares;
# [Temperatura]=Kelvin; # [Temperatura]=Kelvin;
# [Radio]=Unidades Arbitrarias # [Radio]=Unidades Arbitrarias
data_dwarfs=np.genfromtxt("./data/dwarfs.csv",dtype=float,delimiter=',',skip_header=1) data_dwarfs=np.genfromtxt("./data/dwarfs.csv",dtype=float,delimiter=',',skip_header=1)
data_giants=np.genfromtxt("./data/giants.txt",dtype=float,delimiter=' ',skip_header=1) data_giants=np.genfromtxt("./data/giants.txt",dtype=float,delimiter=' ',skip_header=1)
data_ms=np.genfromtxt("./data/ms.csv",dtype=float,delimiter=',',skip_header=1) data_ms=np.genfromtxt("./data/ms.csv",dtype=float,delimiter=',',skip_header=1)
data_supergiants=np.genfromtxt("./data/supergiants.txt",dtype=float,delimiter=' ',skip_header=1) data_supergiants=np.genfromtxt("./data/supergiants.txt",dtype=float,delimiter=' ',skip_header=1)
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Creamos un arreglo de `numpy` que contenga _todos_ los datos que cargamos en el celda anterior ### Creamos un arreglo de `numpy` que contenga _todos_ los datos que cargamos en el celda anterior
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
estrellas=np.concatenate((data_dwarfs,data_giants,data_ms,data_supergiants),axis=0) estrellas=np.concatenate((data_dwarfs,data_giants,data_ms,data_supergiants),axis=0)
#estrellas
# Guardamos este arreglo de numpy para usarlo en el segundo ejercicio
np.save('./data/estrellas.npy', estrellas)
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Hacemos el grafico de dispersión de los datos ## Hacemos el grafico de dispersión de los datos
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# La luminosidad corresponde a la primera columna del arreglo estrellas, # La luminosidad corresponde a la primera columna del arreglo estrellas,
# la temperatura corresponde a la segunda columna y el radio a la tercera columna. # la temperatura corresponde a la segunda columna y el radio a la tercera columna.
lumino=estrellas[:,0] lumino=estrellas[:,0]
temp=estrellas[:,1] temp=estrellas[:,1]
radio=estrellas[:,2] radio=estrellas[:,2]
fig = plt.figure(figsize=(12,8)) fig = plt.figure(figsize=(12,8))
axes=fig.gca() axes=fig.gca()
plt.scatter(temp,lumino,s=radio*10,c=temp,cmap='RdYlBu') plt.scatter(temp,lumino,s=radio*10,c=temp,cmap='RdYlBu')
#plt.axis([temp.max(),temp.min(),10**(-5),10**(7)]) #plt.axis([temp.max(),temp.min(),10**(-5),10**(7)])
axes.invert_xaxis() axes.invert_xaxis()
plt.yscale("log") plt.yscale("log")
plt.xlabel("Temperatura (K)",fontsize=20) plt.xlabel("Temperatura (K)",fontsize=20)
plt.ylabel(r"Luminosidad ($L_{sun}$)",fontsize=20) plt.ylabel(r"Luminosidad ($L_{sun}$)",fontsize=20)
# Las anotaciones se pueden hacer de dos formas: # Las anotaciones se pueden hacer de dos formas:
# La primera es con plt.anotate('text',(x,y)) # La primera es con plt.anotate('text',(x,y))
# La segunda forma es con axes.anotate('text',(x,y)) # La segunda forma es con axes.anotate('text',(x,y))
# Definimos una variable para el tamaño de la letra en las anotaciones de # Definimos una variable para el tamaño de la letra en las anotaciones de
# la grafica # la grafica
size_letra=15 size_letra=15
# Las coordenadas donde se introducen los textos se ponen a ojo. # Las coordenadas donde se introducen los textos se ponen a ojo.
axes.annotate('Secuencia Principal',(7700,0.1),fontsize=size_letra) axes.annotate('Secuencia Principal',(7700,0.1),fontsize=size_letra)
axes.annotate('Secuencia Principal',(11000,10),fontsize=size_letra) axes.annotate('Secuencia Principal',(11000,10),fontsize=size_letra)
axes.annotate('Gigantes Rojas',(5000,990),fontsize=size_letra) axes.annotate('Gigantes Rojas',(5000,990),fontsize=size_letra)
axes.annotate('Supergigantes Rojas',(6500,70000),fontsize=size_letra) axes.annotate('Supergigantes Rojas',(6500,70000),fontsize=size_letra)
axes.annotate('Gigantes Azules',(11000,10**5),fontsize=size_letra) axes.annotate('Gigantes Azules',(11000,10**5),fontsize=size_letra)
axes.annotate('Enanas Rojas',(8000,10**(-4)),fontsize=size_letra) axes.annotate('Enanas Rojas',(8000,10**(-4)),fontsize=size_letra)
plt.title("Grafica H-R",fontsize=25) plt.title("Grafica H-R",fontsize=25)
plt.show() plt.show()
``` ```
%% Output %% Output
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## **Bibliografia** ## **Bibliografia**
+ Cambiar el tamaño de letra de las anotaciones: https://stackoverflow.com/questions/14643891/different-font-sizes-in-the-same-annotation-of-matplotlib#14659858 + Cambiar el tamaño de letra de las anotaciones: https://stackoverflow.com/questions/14643891/different-font-sizes-in-the-same-annotation-of-matplotlib#14659858
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment