Subplot

3/18
Recursos

Subplot permite crear gráficos dentro de una gráfica. Esto lo hace a través de una matriz de gráficos y se puede acceder a ellos a través de índices:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,5,11)
y = x ** 2

Los parámetros funcionan de subplot funcionan:

Filas Columnas Index
  • Crear una matriz de gráficos de una fila y dos columnas
plt.subplot(1,2,1) # Grafico 1
plt.plot(x,y, 'r--') 

plt.subplot(1,2,2)  # Gráfico 2
plt.pie(y)
plt.show()
grafico 1.JPG
  • Agregar diferentes Plot al gráfico
plt.subplot(1,2,1)
plt.plot(x,y, 'r--') # Plot 1
plt.plot(y,x, 'b:') #Plot 2

plt.subplot(1,2,2)
plt.pie(y)
plt.show()
grafico2.JPG
  • Invertir la matriz de los gráficos
plt.subplot(2,1,1) #Grafico 1
plt.plot(x,y,'r--') #Plot 1
plt.plot(y,x,'b:')  #Plot 2

plt.subplot(2,1,2) #Grafico 2
plt.pie(y)         #Plot 1  
plt.show()
grafica3.JPG

Aportes 12

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

En este caso hicimos un gráfico que contiene 2 filas y 3 columnas, por lo que vamos a tener un gráfico compuesto por 6 gráficos.

Con los índices indicamos donde queremos que cada gráfico se ejecute y los índices se ordenan de la siguiente forma:

1 2 3

4 5 6


x= [ 1,2,3,4,5,7,9,14]
y= [ 1,4,8,6,5,10,9,11]

plt.subplot(2,3,1)
plt.plot(x,y) # Gráfico de lineas
plt.subplot(2,3,2)
plt.plot(x,y,‘o’) # Gráfico de lineas con puntos
plt.subplot(2,3,3)
plt.pie(x) # Gráfico de torta
plt.subplot(2,3,4)
plt.boxplot(x) # Gráfico de cajas
plt.subplot(2,3,5)
plt.bar(x,y) # Gráfico de barras
plt.subplot(2,3,6)
plt.hist(x) # Gráfico histograma

Escribí mal una linea y matplotlib decidió empezar a crear su propio metaverso 🤣

RESUMEN

Subplot

Subplot permite crear graficos dentro de un grafico. Esto lo hace a traves de una matriz de graficos y se puede acceder a ellos a traves de los indices

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,5,11)
y = x**2
  • Crear una matriz de graficos de una fila y dos columnas
plt.subplot(1,2,1)   #grafico 1
plt.plot(x,y,'r--')

plt.subplot(1,2,2)   #grafico 2
plt.hist(y)
plt.show()
  • Añadir varios plot a un mismo grafico
plt.subplot(1,2,1) #Grafico 1
plt.plot(x,y,'r--') #Plot 1
plt.plot(y,x,'b:')  #Plot 2

plt.subplot(1,2,2) #Grafico 2
plt.pie(y)         #Plot 1        
plt.show()
  • Crear una matriz de grafico de dos filas y una columna
plt.subplot(2,1,1) #Grafico 1
plt.plot(x,y,'r--') #Plot 1
plt.plot(y,x,'b:')  #Plot 2

plt.subplot(2,1,2) #Grafico 2
plt.pie(y)         #Plot 1        
plt.show()

Lo bueno de estos cursos es que uno puede ponerse a improvisar a su gusto y probar cosas que le pueden gustar más o menos. Una vez más, creo que es más sencillo trabajar, así que con Excel.

jugando un poco encontre que se puede modificar con el tema de las filas y columnas para tener graficos de distintos tamaños!

plt.subplot(2,2,1)
plt.plot(x,y, '')
plt.subplot(1,2,2)
plt.triplot(z,x)
plt.subplot(2,2,3)
plt.triplot(z,x)
plt.show()

Estaba revisando como hacer otro tipo de gráficos, tal vez algunos no digan nada, pero me pareció entretenido buscar nuevas formas de visualización de datos.

plt.sublot( CantidadFilas , CantidadColumnas , Indice )

Realmente uno queda fascinado con este Excel con ESTEROIDES.

Con GRIDSPEC se puede hacer un GRILLA de SUBSET como SUBPLOT y compartir algunos.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec

fig = plt.figure(tight_layout=True)
gs = gridspec.GridSpec(2, 2) # 2 filas x 2 columnas 
ax = fig.add_subplot(gs[0, :]) # comparto toda la fila 0
ax.hist(y) 
ax = fig.add_subplot(gs[1, 0])
ax.plot(x,y,'r--')  
ax = fig.add_subplot(gs[1, 1])
ax.plot(y,x,'b:') 
plt.show()

FUENTE: https://matplotlib.org/3.5.0/api/_as_gen/matplotlib.gridspec.GridSpec.html

este curso esta de lujo !!! gracias profe, gracias platzi

Como modifico el tamaño de las gráficas? Me interesa poder realizar unas gráficas en 3 filas y 3 columnas, y se ve muy chico con el tamaño por defecto.