Visualización de datos con Python
La importancia de la visualización de datos
Matplotlib
Pyplot básico
Subplot
Método orientado a objetos
Subplots
Leyendas, etiquetas, títulos, tamaño
Colores y estilos
Bar Plot
Crear otro tipo de gráficas
Quiz: Matplotlib
Seaborn
Seaborn
Set
Parámetros más usados con Seaborn
Distribuciones
Categóricos
Relation
Jointplot y Pairplot
Heatmap
Quiz: Seaborn
Cierre del curso
Posibilidades con Matplotlib y Seaborn
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Con subplots se puede trabajar en un arreglo de gráficas a las cuales se accede a través de los índices.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,5,11)
y = x**2
fig, axes = plt.subplots()
axes.plot(x,y)
plt.show()
![1.JPG]()
fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x,y,'b')
axes[1].plot(y,x,'r')
plt.show()
![1.JPG]()
fig, (axes1,axes2) = plt.subplots(nrows=1, ncols=2)
axes1.plot(x,y,'b')
axes2.plot(y,x,'r')
plt.show()
fig, axes = plt.subplots(2,4)
#genera un trazo accediendo a las graficas a traves del indice de la matriz
axes[0,0].plot(x,y)
axes[0,1].plot(y,x, 'r')
fig.tight_layout() #mejora la visualización de los ejes de cada gráfico
![4.JPG]()
fig, ((axes1, axes2, axes3, axes4), (axes5, axes6, axes7, axes8)) = plt.subplots(2,4)
axes1.plot(x, np.sin(x), 'b')
axes2.plot(y, np.cos(x), 'purple')
axes3.plot(x, np.tan(y), 'orange')
axes4.plot(y, np.cos(y)**2,'black')
#mejorar la visualización de las figuras
fig.tight_layout()
![5.JPG]()
Grafica la segunda línea de los subplots anteriormente mencionados. Usa el estilo de tu preferencia y compártenos el resultado en la sección de comentarios.
Aportes 177
Preguntas 6
Mi reto cumplido …!
Con subplots se puede trabajar en un arreglo de graficas a las cuales se accede a traves de los indices.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,5,11)
y = x**2
fig, axes = plt.subplots()
axes.plot(x,y,'b')
plt.show()
fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x,y,'b')
axes[1].plot(y,x,'r')
plt.show()
fig, (axes1,axes2) = plt.subplots(nrows=1, ncols=2)
axes1.plot(x,y,'b')
axes2.plot(y,x,'r')
plt.show()
fig, axes = plt.subplots(2,4)
#genera un trazo accediendo a las graficas a traves del indice de la matriz
axes[1,0].plot(x,np.cos(x))
axes[1,1].plot(x,np.sin(x), 'r')
axes[1,2].plot(x,np.tan(x), 'green')
axes[1,3].plot(x,np.cos(x)**2)
fig.tight_layout() #mejora la visualizacion de los ejes de cada grafico
fig, ((axes1, axes2, axes3, axes4), (axes5, axes6, axes7, axes8)) = plt.subplots(2,4)
axes5.plot(x,np.cos(x))
axes6.plot(x,np.sin(x), 'r')
axes7.plot(x,np.tan(x), 'green')
axes8.plot(x,np.cos(x)**2)
#mejorar la visualizacion de las figuras
fig.tight_layout()
Reto Completado
Para los que quieran cambiar el tamaño del lienzo:
plt.rcParams["figure.figsize"] = (10, 7)
fig, ((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(2,4) # Tuple by row !
ax1.plot(x, np.cos(x))
ax2.plot(x, np.sin(x,y),'y')
ax3.plot(x, np.tan(x,y),'r')
ax4.plot(x, np.abs(x) * 5 * np.sin(10 * x), 'r')
ax5.plot(x, np.log(x + 1))
ax6.plot(x, np.exp(x) * (np.cos(x) ** 2),'r')
ax7.plot(x, np.sin(x) + np.cos(2*x))
ax8.plot(x, np.cos(x) ** 2)
fig.tight_layout()
fig.show()
Mi reto:
hola a todos
mi reto:
Para lograr un buen análisis de datos es buena idea observar tu dataset y así entenderlo mejor. En este ejemplo trabajé con el dataset digits de scikit learn, que nos ayuda a manera de práctica para predecir números escritos a mano.
En la row [28] empecé definiendo mi figura con subplots de 4 filas y 6 columnas.
Con el ciclo for se van “llenando” esta figura con los datos del dataset digits.
La función zip crea una nueva lista de tuplas con los elementos de los iterables que se le pongan, en este caso
axes.ravel()
digits.images (las imagenes de los numeros en el dataset)
digits.target (etiquetas de los datos)
Es decir, toma el primer axes de la figura y la primera imagen con su etiqueta.
Al definir los ticks con una lista vacía estas ya no aparecen y se ve menos amontonado.
El tile de cada axes es la etiqueta que tiene cada imagen.
Probé, de varias maneras, hasta que llegue a este resultado:
Le quisiera dar like a la clase jajajaja
Reto
Le agregué más puntos de muestreo para una gráfica más suave
import matplotlib.pyplot as plt
import numpy as np
x =np.linspace(0.1,11,100)
y = np.sin(x)
fig ,((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(2,4)
ax1.plot(x,np.cos(x))
ax2.plot(x,np.sin(x),'y')
ax3.plot(x,np.tan(x),'r')
ax4.plot(x,np.cos(x)/x,'m')
#Reto:
ax5.plot(x,np.sinh(x))
ax6.plot(x,np.arcsinh(x),'y:')
ax7.plot(x,np.cosh(x),'r--')
ax8.plot(x,1/np.tanh(x),'m:')
fig.tight_layout()
plt.show()
RETO:
Aquí pueden encontrar la celda de código del ejemplo
Mi reto:
Reto: incluye compartimentación de 2 gráficos y reducción de gráfico.
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(ncols=4, nrows=2)
gs = axes[1,2].get_gridspec()
# remuevo y comparto subplots
for ax in axes[1,:-2]:
ax.remove()
axes_1x2 = fig.add_subplot(gs[1, :-2])
# para generar las funciones vistas en clase
x = np.linspace(0,5,11)
# funcion agregar grafico [1,2] y [1,3]
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0, 3.0, 0.01)
# funciones para grafico 1x2 compartido [1,:-2]
a = b = np.arange(0, 3, .02)
c = np.exp(a)
d = c[::-1]
# genero los graficos
axes[0,0].plot(x,np.cos(x))# ubicación de gráficos
axes[0,1].plot(x,np.sin(x),'y')
axes[0,2].plot(x,np.tan(x),'r')
axes[0,3].plot(x,np.cos(x)**2)
axes_1x2.plot(a, c, 'r--')
axes_1x2.plot(a, d, 'y:')
axes_1x2.plot(a, c + d, 'k')
axes[1,2].plot(t1, f(t1), 'v:')
axes[1,3].margins(1, 1) # zoom out (defalult 0.5)
axes[1,3].plot(t1, f(t1), 'g')
axes[1,3].set_title('Zoomed out')
fig.tight_layout()
plt.show()
FUENTE
https://matplotlib.org/3.1.1/tutorials/intermediate/gridspec.html
https://matplotlib.org/3.5.0/gallery/subplots_axes_and_figures/gridspec_and_subplots.html#sphx-glr-gallery-subplots-axes-and-figures-gridspec-and-subplots-py
fig,((ax1, ax2, ax3, ax4), (ax5,ax6,ax7,ax8)) = plt.subplots(2, 4) #Se deben definir todas las 8 salidas
ax1.plot(x,np.cos(x),'b') #Posición 0,0
ax2.plot(x,np.sin(x),'g') #Posición 0,1
ax3.plot(x,np.tan(x),'r') #Posición 0,2
ax4.plot(x,np.arccos(x),'g') #Posición 0,3
ax5.plot(x,np.arccosh(x),'y') #Posición 1,0
ax6.plot(x,np.arcsin(x),'r') #Posición 1,1
ax7.plot(x,np.arctan(x),'g') #Posición 1,2
ax8.plot(x,np.arccos(x)**2,'b') #Posición 1,3
fig.tight_layout() #Distribuye uniformemente
Esta clase me gusto bastante porque me ayudara a mejorar mis conocimientos como programador y como mejorar en el campo laboral. Ademas, me sera util para un proyecto que estoy haciendo. Aqui esta mi reto:
![](
<fig, ((ax1,ax2,ax3,ax4), (ax5,ax6,ax7,ax8)) = plt.subplots(2,4)
ax1.plot(x, np.cos(x))
ax2.plot(x, np.sin(x),'g')
ax3.plot(x, np.tan(x), 'r')
ax4.plot(x, np.cos(x)**2)
ax5.plot(x**3, y, 'm:')
ax6.plot(x, np.sqrt(y), 'c--')
ax7.plot(x, np.arccos(y), '-.', color=Naranja)
ax8.plot(x, np.log(y),'o-', color=rosado1)
fig.tight_layout()>
El reto:
Reto:
Mi aporte al reto de la clase:
.
.
fig, axes = plt.subplots(3,3)
axes[0,0].plot(x,np.cos(x),'red')
axes[0,1].plot(x,np.tan(y),'blue')
axes[0,2].plot(x,np.sin(y),'gray')
axes[1,0].plot(x,y,'black')
axes[1,1].plot(y,x,'orange')
axes[1,2].plot(x,y,'green')
axes[2,0].plot(y,np.tan(y),'purple')
axes[2,2].plot(np.sin(x),y,'#FFF0C9')
axes[2,1].plot(x,z,'#4a6f22')
fig.tight_layout()
Mi reto:
<fig , ax = plt.subplots(2,4)
fig.set_size_inches(9,5)
ax[0,0].plot(x,y)
ax[0,0].set_title('Función seno')
ax[0,0].grid(False)
ax[0,1].plot(x,np.cos(x),color ='red',linestyle =':',linewidth = 1.5)
ax[0,1].set_title('Función Coseno')
ax[0,1].set_ylabel('cos(x)')
ax[0,1].grid(False)
ax[0,2].plot(x,x**3,color = 'purple')
ax[0,2].set_title('$x^{3}$')
ax[0,2].grid(False)
fig.tight_layout()
ax[0,3].plot(np.random.randn(20).cumsum(),color = 'green',linestyle='-.')
ax[0,3].set_title('Serie')
ax[0,3].grid(False)
ax[1,0].pie(df.groupby('cylinders').count().reset_index().iloc[:,[1]].values.reshape(5))
ax[1,1].hist(df['mpg'],color = '#F29446',edgecolor = 'black')
ax[1,2].bar(df['origin'].unique(),df.groupby('origin').mean()['horsepower'],
color = ['#596EFA','#DC6A6F','#A2E5F9'],edgecolor = 'black')
ax[1,3].hist(df['acceleration'],edgecolor ='black')
plt.show()>
'''
Mi reto:
Les comparto mi reto:
axes[0][0].plot(x, y, 'b')
axes[0][1].plot(x, np.sin(y), 'g')
axes[0][2].plot(x, np.cos(y), 'r')
axes[0][3].plot(x, np.tan(y), 'c')
axes[1][0].plot(x, np.sin(y)**2, 'm')
axes[1][1].plot(x, np.cos(y)**2, 'y')
axes[1][2].plot(x, np.tan(y)**2, 'k')
axes[1][3].plot(y, x, 'bo')
limIzquierda = -(np.pi * 2)
limDerecha = np.pi * 2
x_sen_cos = np.linspace(limIzquierda, limDerecha , 100)
sen = np.sin(x_sen_cos )
cos = np.cos(x_sen_cos )
x_polinomio = np.linspace(-100,100,100)
y = x_polinomio**2
t = x_polinomio **3
x_tan = np.linspace(0,np.pi, 100)
tan = np.tan(x_tan)
x_log = np.linspace(1,100, 1000)
log_arr = np.log(x)
x_vabsolut = np.linspace(-100, 100, 100)
valor_absoluto = np.abs(x_vabsolut)
x_tanh = np.linspace(-(2*np.pi), 2*np.pi, 100)
tanh = np.tanh(x_tanh)
fig, axes = plt.subplots(2,4)
(
axes[0,0].plot(x_polinomio, y , 'r'),
axes[0,1].plot(x_polinomio, t, 'g'),
axes[0,2].plot(x_vabsolut, valor_absoluto, 'b'),
axes[0,3].plot(x_tanh, tanh, 'black'),
axes[1,0].plot(x_sen_cos, sen, 'y'),
axes[1,1].plot(x_sen_cos, cos, 'orange'),
axes[1,2].plot(x_tan, tan, 'gold'),
axes[1,3].plot(x_log, log_arr, 'purple'),
fig.tight_layout(),
)
Reto de la clase:
Ejercicio de la clase:
fig, ((ax1, ax2, ax3, ax4), (ax5, ax6, ax7, ax8)) = plt.subplots(nrows=2, ncols=4)
ax1.plot(x, np.cos(x))
ax2.plot(x, np.sin(x),'y')
ax3.plot(x, np.tan(x),'r')
ax4.plot(x, np.cos(x)**2)
fig.tight_layout()
![](
Reto cumplido, me gusto esta clase, ahora si entendi como generar graficos
Comparto mi reto
Reto:
Reto resuelto
![](
![](
Mi reto:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,5,11)
y = np.sin(x)
fig, axes = plt.subplots()
axes.plot(x,y,'r')
fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].plot(x,y,'r')
axes[1].plot(y,x,'r')
fig, (ax1,ax2) = plt.subplots(nrows=1, ncols=2)
ax1.plot(x,y,'r')
ax2.plot(y,x,'r')
fig, axes = plt.subplots(nrows=2, ncols=4)
#ax1.plot(x,y,'r')
#ax2.plot(y,x,'r')
axes[0,0].plot(x,np.cos(x))
axes[0,1].plot(x,np.sin(x))
axes[0,2].plot(x,np.tan(x))
axes[0,3].plot(x,np.cos(x)**2)
fig, ((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(nrows=2, ncols=4)
#ax1.plot(x,y,'r')
#ax2.plot(y,x,'r')
ax1.plot(x,np.cos(x))
ax2.plot(x,np.sin(x))
ax3.plot(x,np.tan(x))
ax4.plot(x,np.cos(x)**2)
ax5.plot(x,x**2)
ax6.plot(x,x**3)
ax7.plot(x,1/x)
ax8.plot(x,x-1)
fig.tight_layout() # agrupa mejor los elementos
Mi aporte
fig, ((ax1, ax2, ax3, ax4),(ax5, ax6, ax7, ax8)) = plt.subplots(2, 4)
ax1.plot(x, np.cos(y), 'm*-')
ax1.set_facecolor('blue')
ax2.plot(y, np.cos(x), 'rd-')
ax2.set_facecolor('gray')
ax3.plot(x, np.tan(y), 'b:')
ax3.set_facecolor('magenta')
ax4.plot(y, np.sin(y)**3, 'wd-')
ax4.set_facecolor('green')
ax5.plot(np.sin(x), np.tan(-y), 'b+-')
ax5.set_facecolor('yellow')
ax6.plot(np.tan(y), x**-3, 'y')
ax6.set_facecolor('red')
ax7.plot(y, -x, 'b')
ax7.set_facecolor('brown')
ax8.plot(-y, -x, 'r:')
ax8.set_facecolor('blue')
fig.tight_layout()
Mi reto:
.
Mi respuesta al reto
fig, ((ax1, ax2, ax3, ax4), (ax5, ax6, ax7, ax8)) = plt.subplots(2, 4)
ax1.plot(x,np.cos(x))
ax2.plot(x,np.sin(x), 'y')
ax3.plot(x,np.tan(x), 'r')
ax4.plot(x,np.cos(x)**2)
ax5.plot(x,np.tan(x))
ax6.plot(x,np.cos(x), 'b:')
ax7.plot(x,np.tan(x), 'g--')
ax8.plot(x,np.cos(x)*5)
fig.tight_layout()
plt.show()
El desafío…
Mi Reto:
def eq(x, y):
return 0.2*x + 0.3*y + 0.4 + 0.2*(x - x[0]*0.2 + y[0])
fig, ((ax1, ax2, ax3, ax4), (ax5, ax6, ax7, ax8)) = plt.subplots(2,4)
ax1.plot(x, np.sin(x), 'b')
ax2.plot(y, np.cos(x), 'purple')
ax3.plot(x, np.tan(y), 'orange')
ax4.plot(y, np.cos(y)**2, 'black')
ax5.plot(x, (10*x) + y)
ax6.plot(y, (-10*y) + x, 'mD:')
ax7.plot(x - y, 'teal')
ax8.plot(x, eq(x, y), 'r')
fig.tight_layout()
Para mejorar la visualizacion utiliza ‘figsize()’
<fig, ((axes1, axes2, axes3, axes4), (axes5, axes6, axes7, axes8)) = plt.subplots(2,4,figsize=(5,4))>
Mi reto:
Mi aporte!
Hola,
El siguiente código define cada uno de los axes mediante un for loop.
import matplotlib.pyplot as plt
import numpy as np
i = 1
fig, axes = plt.subplots(nrows=2, ncols=4)
for ax in axes.ravel():
ax.plot(np.sin(x * i), 'r')
i += 1
fig.tight_layout()
El resultado es el siguiente:
RETO
fig, axes = plt.subplots(2, 4)
fig.tight_layout()
fig.set_facecolor('0.9')
axes[0,0].plot(x, np.cos(x), 'y+')
axes[0,0].set_title('x and cos(x)')
axes[0,1].plot(y, np.cos(y), 'g.')
axes[0,1].set_title('y and cos(y)')
axes[0,2].plot(x, np.tan(y), 'c:')
axes[0,2].set_title('x and tan(y)')
axes[0,3].plot(x**(1/2), x+8, 'C9_')
axes[0,3].set_title('root(x) and x + 8')
axes[1,0].plot(np.pi* y, np.cos(x), 'C8o')
axes[1,0].set_title('y and cos(x)')
axes[1,1].plot(np.sin(y), np.tan(y) **3, 'C5|')
axes[1,1].set_title('sin(y) and tan(y)')
axes[1,2].plot(np.sqrt(y), np.tan(y), 'C6D')
axes[1,2].set_title('square y tan(y)')
axes[1,3].plot(y**(1/2), x+8, 'C1+')
axes[1,3].set_title('root(y) and x + 8')
Este es mi reto completado
Use dos ciclo for para generar algunas graficas y escribir menos código.
nrows=2
ncols=4
colors=['r','b','g','k']
fig,axs = plt.subplots(nrows,ncols)
for i in range(nrows):
for j in range(ncols):
axs[i,j].plot(x,x**j,color=colors[j])
fig.tight_layout()
Mi reto!
Me encanto
fig, ((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(2, 4)
ax1.plot(x,np.cos(x))
ax2.plot(x,np.sin(x),'y')
ax3.plot(x,np.tan(x),'r')
ax4.plot(x,np.cos(x)**2)
ax5.plot(y,np.sin(y),'bo-')
ax6.plot(y, np.tan(x), 'g--')
ax7.plot(y, np.cos(x), 'g:')
ax8.plot(y, np.sin(x), 'r--')
fig.tight_layout()
mi aporte
<fig, ((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(nrows=2, ncols=4)
ax1.plot(x,np.cos(x),'b')
ax2.plot(x,np.sin(x),'r')
ax3.plot(x,np.tan(x),'g')
ax4.plot(x,np.cos(x)**2,'m')
ax5.plot(x,np.exp(x),'b')
ax6.plot(x,np.tan(z),'g')
ax7.plot(x,np.cos(z),'b')
ax8.plot(x,np.sin(z),'y')
fig.tight_layout
fig.show>
Mi reto:
x = np.linspace(0,2*np.pi,100)
fig,((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(2,4)
fig.suptitle('Example figures',fontsize=18)
plt.rcParams["figure.figsize"] = (19, 7) # Tamaño
ax1.plot(x,np.sin(x),'r>')
ax1.set_title('sin(X)')
ax2.plot(x,np.tan(x),'b')
ax2.set_title('tan(X)')
ax3.plot(x,np.cos(x),'b--')
ax3.set_title('cos(x)')
ax4.scatter(x,np.sqrt(x))
ax4.set_title('sqrt(x)')
ax5.plot(x,np.cos(6*x) * np.exp(-x))
ax6.plot(x,3*x**2-20*x-1)
ax7.plot(x,np.exp(x),'r--')
ax7.set_title('e^2')
ax8.plot(x,-np.sin(x),'b--')
Mi Reto
fig, ((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8),(ax9,ax10,ax11,ax12),(ax13,ax14,ax15,ax16)) = plt.subplots(nrows=4, ncols=4)
ax1.plot(x,np.sin(x),'g')
ax2.plot(y,np.cos(x),'y')
ax3.plot(x,np.tan(x),'b')
ax4.plot(x,np.cos(x)**2,'pink')
ax5.plot(x,np.arcsin(x),'g')
ax6.plot(y,np.arccos(x),'y')
ax7.plot(x,np.arctan(x),'b')
ax8.plot(y,np.arctan(x),'pink')
ax9.plot(y,np.sin(y),'g')
ax10.plot(x,np.cos(y),'y')
ax11.plot(y,np.tan(y),'b')
ax12.plot(y,np.cos(y)**2,'pink')
ax13.plot(y,np.arcsin(y),'g')
ax14.plot(x,np.arccos(y),'y')
ax15.plot(y,np.arctan(y),'b')
ax16.plot(x,np.arctan(y),'pink')
fig.tight_layout()
a ver, básico pero terminado mi grafico con las 8 propuestas.
Hice el reto, pero le cambié el paso en el x para poder apreciar mejor las curvas que se forman. Nunca pares de aprender uwu
x =np.linspace(-11,11,100)
fig ,((ax1,ax2,ax3,ax4),(ax5,ax6,ax7,ax8)) = plt.subplots(2,4,figsize=(17,10))
ax1.plot(x,np.cos(x))
ax1.set_facecolor('black')
ax1.spines['bottom'].set_color('white')
ax1.spines['top'].set_color('white')
ax1.spines['left'].set_color('white')
ax1.spines['right'].set_color('white')
ax1.xaxis.label.set_color('white')
ax1.yaxis.label.set_color('white')
ax1.tick_params(axis='x', colors='white')
ax1.tick_params(axis='y', colors='white')
ax1.grid(color='r', linestyle=':', linewidth=1)
ax1.set_title(r'$Sin(x)$')
ax1.set_xlabel(r"$x$ o $\pi rad$")
ax1.set_ylabel(r"$y$")
#################################
ax2.plot(x,np.sin(x),'y')#########
###########################33
ax3.plot(x,np.tan(x),'r')
ax3.set_ylim([-6, 6])
ax3.set_xlim([-np.pi, np.pi])
ax3.set_xticks(np.arange(-2*np.pi, 5*np.pi/2, np.pi/2))
ax3.grid(True)
# Trazo una línea vertical y horizontal en la coordenada (x,y)=(0,0) color gold ( #D4AF37)
# y con trazo - linea
ax3.axvline(0, color='#D4AF37', ls="-")
ax3.axhline(0, color='#D4AF37', ls="-")
def axvlines(ax=None, xs=[0, 1], ymin=0, ymax=1, **kwargs):
ax = ax or plt.gca()
for x in xs:
ax.axvline(x, ymin=ymin, ymax=ymax, **kwargs)
axvlines(ax=ax3, xs=[-3*np.pi/2, -1*np.pi/2, np.pi/2, 3*np.pi/2, 5*np.pi/2], c='b', ls='--')
ax3.set_xticklabels([r'$-2 \pi $',r'$-3\pi /2$',r'$-\pi $',r'$-\pi /2$',
r'0', r'$\pi /2$',r'$\pi $',r'$3\pi /2$', r'$2\pi$'], rotation=90)
##########################33
ax4.plot(x,np.cos(x)/x,'m')
#Reto:
ax5.plot(x,np.sinh(x))
ax6.plot(x,np.tanh(x),'g:')
ax7.plot(x,np.cosh(x),'r--')
ax8.plot(x,np.log(x),'m:')
fig.tight_layout()
#fig.set_size_inches(17,10)
fig.set_facecolor('#463D3D')#### color de todo el lienzo
plt.show()
Que clase de brujería es esta?
np.random.seed(1)
x = np.random.normal(size =5000)
y = x + np.random.normal(size=5000)
fig, ax = plt.subplots()
ax.hist2d(x,y, bins=20)
plt.show
Este es el resultado del reto
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?