<jupyter_start><jupyter_text><jupyter_code>import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline<jupyter_output><empty_output><jupyter_text>Multiples subplots en una figura<jupyter_code># Funcion 1
x1 = np.arange(0.0, 5.0, 0.1)               # np.arange(inicio,fin,paso)
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)

# Funcion 2
x2 = np.arange(0.0, 2.0, 0.05)
y2 = np.cos(2 * np.pi * x2)

# plt.subplot(# de filas, # de columnas, # del recuadro donde queremos hacer esta gráfcia en particular)
plt.subplot(2, 1, 1)                       
plt.plot(x1, y1, 'o-')
plt.title('Una figura con 2 subplots')
plt.ylabel('label 1')

# plt.subplot(# de filas, # de columnas, # del recuadro donde queremos hacer esta gráfcia en particular)
plt.subplot(2, 1, 2)
plt.plot(x2, y2, '.-')
plt.xlabel('Etiqueta en el eje x')
plt.ylabel('label 2')

plt.show()<jupyter_output><empty_output><jupyter_text>Para insertar múltiple subplots con una geometría personalizada<jupyter_code>from pylab import *
import matplotlib.gridspec as gridspec

G = gridspec.GridSpec(3, 3)    # especificar la geometía de la grilla, una matriz de 3x3

axes_1 = plt.subplot(G[0, :])    # tomar la fila 0, todas las columnas
xticks([]), yticks([])                     # quitar los ticks
x1 = np.arange(0.0, 5.0, 0.1)               
y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)
plt.plot(x1, y1, 'o-')

axes_2 = subplot(G[1,:-1])
xticks([]), yticks([])
x2 = np.arange(0.0, 2.0, 0.05)
y2 = np.cos(2 * np.pi * x2)
plt.plot(x2, y2, '.-',color="b")

axes_3 = subplot(G[1:, -1])
xticks([]), yticks([])
plt.plot(x2, y2, '.-',color="green")

axes_4 = subplot(G[-1,0])
xticks([]), yticks([])
plt.plot(x2, y2, '.-',color="y")

axes_5 = subplot(G[-1,-2])
xticks([]), yticks([])
plt.plot(x1, y1, 'o-',color="red")
plt.show()<jupyter_output><empty_output><jupyter_text>Imagenes Matplotlib puede visualizar imagenes usando la función imshow()<jupyter_code>import matplotlib.cm as cm

plt.figure(figsize=(8,6))

# Valores a muestrear en los ejes X y Y
x = y = np.arange(-3.0, 3.0, 0.25)    # np.arange(inicio,fin,paso)

# Creación de una cuadrícula 2D, es decir, de las parejas (X,Y)
# utilizando los valores de X y Y creados individualmente
X, Y = np.meshgrid(x, y)               # forma una matrix cuadrada con X

# Llenamos una matriz 2D con una función que depende de X y Y
# verifique la forma de la matriz con Z1.shape
def f(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

Z1 = f(X,Y)

# Note el uso de colormap. Explore la ayuda de imshow para entender los demás parámetros
plt.imshow(Z1, cmap=cm.gray, vmax=abs(Z1).max(), extent=[-3, 3, -3, 3], vmin=-abs(Z1).max())
# Agregue opcionalmente una barra diagnóstica de color descomentando la siguiente línea
# plt.colorbar()
plt.show()<jupyter_output><empty_output><jupyter_text>Histogramas  La función hist() genera automáticamente histogramas y devuelve los recuentos o probabilidades del contenedor<jupyter_code># example data
mu = 100       # la media
sigma = 15     # desviación estandar
x = mu + sigma * np.random.randn(437)

num_bins = 50

fig, ax = plt.subplots()

# Histograma de los datos
n, bins, patches = ax.hist(x, num_bins, density=1)

# add a 'best fit' line
y = ((1 / (np.sqrt(2 * np.pi) * sigma)) *
     np.exp(-0.5 * (1 / sigma * (bins - mu))**2))
ax.plot(bins, y, '--')
ax.set_xlabel('Smarts')
ax.set_ylabel('Densidad de Probabilidad')
ax.set_title(r'Histograma de IQ: $\mu=100$, $\sigma=15$')
plt.show()<jupyter_output><empty_output><jupyter_text>Gráficos circulares  La función pie () le permite crear gráficos circulares. Las características opcionales incluyen el etiquetado automático del porcentaje de área, la explosión de una o más cuñas desde el centro del pastel y un efecto de sombra.<jupyter_code>labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)  # solo se explota la segunda rebanada (i.e. 'Hogs')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',startangle=90)
ax1.axis('equal')   # garantiza que el pastel se dibuje como un círculo.
plt.show()<jupyter_output><empty_output><jupyter_text>Plots scatter  La función scatter() hace un diagrama de dispersión con tamaño (opcional) y argumentos de color. Este ejemplo representa los cambios en el precio de las acciones de Google, con tamaños de marcador que reflejan el volumen de negociación y los colores que varían con el tiempo. Aquí, el atributo alfa se usa para hacer marcadores circulares semitransparentes.<jupyter_code>n = 1024
X = np.random.normal(0,1,n)
Y = np.random.normal(0,1,n)
T = np.arctan2(Y,X)

plt.axes([0.025,0.025,0.95,0.95])
plt.xlim(-1.5,1.5), plt.xticks([])
plt.ylim(-1.5,1.5), plt.yticks([])
plt.scatter(X,Y,s=75, c=T, alpha=.5)

plt.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1531210724759112, 'fraction_numerical': 0.04000837871805614, 'mean_word_length': 4.317371937639198, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '409065', 'license': 'CC0-1.0', 'n_tokens_mistral': 2101, 'n_tokens_neox': 1991, 'n_words': 521, 'path': 'Notebooks/nb_07_visualizacion.ipynb', 'repo_name': 'juan-pineda/catedra_computacional', 'size': '4774'}