Matplotlin es un libreria para crear imagenes 2D de manera facil.
Checate mas en :
Para usar matplotlib, solo tiene que importar el modulo ..tambien te conviene importar numpy pues es muy util
In [1]:
import numpy as np # modulo de computo numerico
import matplotlib.pyplot as plt # modulo de graficas
import pandas as pd # modulo de datos
import seaborn as sns
# esta linea hace que las graficas salgan en el notebook
%matplotlib inline
In [ ]:
Podemos usar la funcion np.linspace para crear valores en un rango, por ejemplo si queremos 100 numeros entre 0 y 10 usamos:
In [ ]:
Y podemos graficar dos cosas al mismo tiempo:
In [ ]:
Que tal si queremos distinguir cada linea? Pues usamos legend(), de leyenda..tambien tenemos que agregarles nombres a cada plot
In [ ]:
Tambien podemos hacer mas cosas, como dibujar solamente los puntos, o las lineas con los puntos usando linestyle:
In [ ]:
In [ ]:
Pero ademas podemos meter mas informacion, por ejemplo dar colores cada punto, o darle tamanos diferentes:
In [ ]:
In [ ]:
otro tipo de datos, tomados de una campana de gauss, es decir una distribucion normal:
In [ ]:
In [ ]:
Para usarlo convertimos numeros a unidades, por ejemplo:
x = 5 * nu.cm
significa "x es igual a 5 centimetros".
si quieres sacar el valor numerico de x, podemos dividir por las unidades
y = x / nu.mm
, en este caso tenemos el valor numerico en milimetros
In [2]:
import numericalunits as nu
Importamos varios paquetes de Python
In [3]:
import scipy.interpolate, scipy.integrate, wget, tarfile
Definimos la Celda solar cualquiera a una temperatura de 300 kelvin:
In [ ]:
tCell = 300 * nu.K
Aveces los datos que queremos se encuentran en el internet.
Aqui usaremos datos del NREL (National Renewable Energy Laboratory): http://rredc.nrel.gov/solar/spectra/am1.5/
del espectro solar (AM1.5G) con intensity (1000 W/m2).
Primero lo bajamos y lo descomprimimos:
In [ ]:
data_url = 'http://rredc.nrel.gov/solar/spectra/am1.5/ASTMG173/compressed/ASTMG173.csv.tar'
a_file = wget.download(data_url)
download_as_tarfile_object = tarfile.open(fileobj=a_file)
csv_file = download_as_tarfile_object.extractfile('ASTMG173.csv')
In [4]:
downloaded_array = np.genfromtxt('ASTMG173.csv', delimiter=",", skip_header=2)
downloaded_array.shape
Out[4]:
In [5]:
# Wavelength is in column 0, AM1.5G data is column 2
AM15 = downloaded_array[:,[0,2]]
# The first line should be 280.0 , 4.7309E-23
# The last line should be 4000.0, 7.1043E-03
print(AM15)
In [6]:
AM15[:,0] *= nu.nm
AM15[:,1] *= nu.W * nu.m**-2 * nu.nm**-1
In [ ]:
wavelength_min =
wavelength_max =
E_min = nu.hPlanck * nu.c0
E_max = nu.hPlanck * nu.c0
In [ ]:
AM15interp = scipy.interpolate.interp1d(AM15[:,0], AM15[:,1])
In [ ]:
In [ ]: