Está en la página 1de 7

Gráficas en Python

Matplotlib, Numpy y más


1. Matplotlib
Matplotlib es una biblioteca de visualización en Python que se utiliza para crear gráficos estáticos, anima-
ciones e interactividad en entornos de Python. Proporciona una amplia variedad de funciones y herramientas
para crear gráficos de alta calidad y personalizar su apariencia. Puedes usar Matplotlib para visualizar datos
en 2D y 3D en varios formatos, como lı́neas, barras, dispersión, histogramas, entre otros.

Instalación
pip install matplotlib

Importación
import matplotlib.pyplot as plt

1.1. Funciones
1.2. plt.plot()
Se utiliza para trazar gráficos de lı́neas. Permite representar datos en un sistema de coordenadas carte-
sianas, conectando puntos sucesivos con segmentos de lı́nea.
plt . plot (x , y , label = ’ F u n c i n ␣ Seno ’ , color = ’ blue ’ , linestyle = ’ - ’ ,
,→ linewidth =2 , marker = ’o ’ , markersize =6)

1.2.1. linestyle=’ ’

’ - ’ linea s l i d a , ’ -- ’ linea a rayas , ’: ’ linea punteada , ’ -. ’ raya y


,→ punto , ’ None ’ sin linea

1.2.2. marker=”

’o ’ circulo , ’^ ’ t r i n g u l o , ’v ’ t r i n g u l o , ’s ’ cuadrado , ’x ’ cruz ,


,→ diamente ’D ’ , estrella ’* ’ , ’. ’ punto , ’ None ’ n i n g n marcador

1.3. plt.title(”)
Titulo del gráfico
plt . title ( ’ G r f i c o $ \\ frac {1}{ x }$ ’ , fontdict ={ ’ family ’: ’ serif ’ , ’
,→ color ’: ’ purple ’ , ’ weight ’: ’ bold ’ , ’ size ’: 20})
# family ( tipo de letra ) : serif , sans serif , monospace
# weight ( Grosor de la fuente ) : normal , bold , lighter

1.4. plt.xlabel(”)
Etiqueta del eje x
plt . xlabel ( ’ Categorias ’, size =15 , weight = ’ bold ’)
También puedo personalizar el nombre de los ejes,titulos, etc.

1.5. plt.ylabel(”)
Etiqueta del eje y

1
1.6. plt.xticks()
Divisiones del eje x

1.7. plt.yticks()
Divisiones del eje y

1.8. plt.legend()
Para mostrar la leyenda del gráfico(la que incluimos en plt.plot() )

1.8.1. Opciones

plt . legend ( loc =(0 ,1) )


plt . legend ( ’ upper ␣ right ’)
plt . legend ( ’ upper ␣ left ’)
plt . legend ( ’ bottom ␣ right ’)
plt . legend ( ’ bottom ␣ left ’)
plt . legend ( fontsize = ’ small ’)

1.9. plt.savefig()

plt . savefig ( ’ Prueba2 . png ’ , format = ’ png ’ , dpi =1000)

1.10. plt.grid()
Sirve para poner las cuadriculas en las gráficas, estas dependeran de las lineas divisorias de cada eje
plt . grid ( True , linestyle =( ’ -- ’) , color =( ’ gray ’) )

1.11. plt.scatter()
es como plt.plot() pero esta función sólo gráfica puntos, sirve para gráficos de dispersión

1.12. plt.bar()
Para hacer gráficos de barras

1.13. plt.pie()
Para hacer gráficos de pastel

2. Numpy
NumPy es una biblioteca fundamental en Python para realizar operaciones numéricas y manipulación de
arrays multidimensionales. La biblioteca proporciona funciones y herramientas eficientes para trabajar con
arreglos (arrays) numéricos y realizar cálculos matemáticos de manera eficiente.

Instalación
pip install numpy

2
Importación
import numpy as np

2.1. Funciones
2.1.1. np.array
Crear un array NumPy a partir de una lista

arr = np . array ([1 , 2 , 3 , 4])

2.1.2. np.arange
se utiliza para crear un array con valores espaciados uniformemente dentro de un rango especificado
np . arange (0 ,9 ,1)
Crea un array que inicia en 0 y termina en 8 con espacio de 1 o de lo que quieras

2.1.3. np.abs()
Valor absoluto de un valor
np . abs (3)

2.1.4. np.linspace()
La función linspace en NumPy es utilizada para crear un array con valores espaciados uniformemente
dentro de un intervalo especificado
np . linspace ( start , stop , num =50 , endpoint = True , retstep = False , dtype = None )
Valor inicial, valor final, número de puntos a generar, si el último valor está incluido o no, retstep=True
devuelve el valor del paso o distancia entre los elementos, dtype tipo del array resultante

3. Os
Permite realizar operaciones relacionadas con el sistema de archivos, como la manipulación de directorios,
archivos, rutas, y ejecución de comandos del sistema.

3.1. os.chdir()
Cambia el directorio de trabajo.
os . chdir ( ’ C :\\ Users \\ aleja \\ OneDrive \\ Escritorio \\ Jupyter ’)

4. from mpl toolkits.mplot3d import Axes3D


Para hacer gráficos en 3D
En gráficos en 2D, la convención común es utilizar plt para funciones que operan directamente sobre la
figura y los ejes. En gráficos en 3D, se prefiere la interfaz orientada a objetos, donde se trabaja explı́citamente
con figuras y ejes.

3
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import Axes3D # Escencial cuando se trabaja con
,→ g r f i c o s en 3 D
import numpy as np

# Crear datos
t = np . linspace (0 , 20 , 100)
x = np . sin ( t )
y = np . cos ( t )
z = t

# Crear la figura y los ejes en 3 D


fig = plt . figure () # generalmente es buena p r c t i c a crear una figura antes
,→ de realizar cualquier trazado .
ax = fig . add_subplot (111 , projection = ’3d ’) # Crea el plano 3 D vacio

# Graficar los datos en 3 D


ax . plot (x , y , z , label = ’ Trayectoria ’)

# Etiquetas de los ejes


ax . set_xlabel ( ’ Eje X ’)
ax . set_ylabel ( ’ Eje Y ’)
ax . set_zlabel ( ’ Eje Z ’)

# A a d i r una leyenda
ax . legend ()

# Mostrar el g r f i c o en 3 D
plt . show ()

os . chdir ( ’C :\\ Users \\ aleja \\ OneDrive \\ Escritorio \\ Jupyter ’)

5. Gráficos
5.1. Valor absoluto

import matplotlib . pyplot as plt


import numpy as np
import os
x = np . arange ( -20 ,51 ,1)
y = np . abs ( x )
plt . plot (x ,y , label =( ’$ | x | $ ’) , color = ’ red ’ , linestyle =( ’ -- ’) , linewidth =1)
plt . title ( ’ F u n c i n ␣ valor ␣ absoluto ’)
plt . xlabel ( ’ Eje ␣ x ’)
plt . ylabel ( ’ Eje ␣ y ’)
plt . xticks ( np . arange ( -20 ,51 ,4) )
plt . yticks ( np . arange ( -10 ,60 ,4) )
plt . legend ( loc =(0 ,1) )

plt . axhline (0 , color = ’ black ’ , linewidth =1)


plt . axvline (0 , color = ’ black ’ , linewidth =1)

4
os . chdir ( ’C :\\ Users \\ aleja \\ OneDrive \\ Escritorio \\ Jupyter ’)
plt . grid ( True , linestyle =( ’ -- ’) , color = ’ gray ’)
plt . savefig ( ’ Prueba2 . png ’ , format = ’ png ’ , dpi =1000)
plt . show ()

5.2. Función seno

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

x = np . arange ( - math . pi , math . pi , math . pi /10)


y = np . sin ( x )

plt . scatter (x , y , label = ’$ \ sin ( x ) $ ’ , color = ’ red ’ , linewidth =2)


plt . title ( ’ G r f i c a ␣ de ␣ $ \ sin ( x ) $ ’)
plt . xlabel ( ’ Eje ␣ x ’)
plt . ylabel ( ’ Eje ␣ y ’)

# Configurar las divisiones del eje x con s m b o l o de pi


xticks_locs = np . arange ( - math . pi , math . pi + math . pi /4 , math . pi /4)
xticks_labels = [ ’$ -\\ pi$ ’ , ’$ -\\ frac {3\\ pi }{4} $ ’ , ’$ -\\ frac {\\ pi }{2} $ ’ , ’
,→ $ -\\ frac {\\ pi }{4} $ ’ , ’0 ’ ,
’$ \\ frac {\\ pi }{4} $ ’ , ’$ \\ frac {\\ pi }{2} $ ’ , ’$ \\ frac {3\\ pi
,→ }{4} $ ’ , ’$ \\ pi$ ’]
plt . xticks ( xticks_locs , xticks_labels )

plt . yticks ( np . arange ( -1 , 2 , 1) )


plt . grid ()
plt . legend ( loc =(0.1 ,0.7) )
plt . show ()

1
5.3. Función x

import numpy as np
import matplotlib . pyplot as plt
import math
import os

x = np . arange ( -20 ,20 ,1)


x = x [ x !=0] # Para quitar el cero
y =1/ x
plt . plot (x ,y , label = ’$ \\ frac {1}{ x } $ ’ , color = ’ red ’ , marker = ’o ’ , markerfacecolor
,→ = ’ black ’ , markeredgecolor = ’ orange ’)
# Tengo que poner \\ para que funcione
plt . axhline (0 , linewidth =1 , color = ’ black ’ , label = ’ Eje ␣ x ’)
plt . axvline (0 , linewidth =1 , color = ’ black ’ , label = ’ Eje ␣ y ’)
plt . title ( ’ G r f i c o ␣ $ \\ frac {1}{ x } $ ’)
plt . xlabel ( ’ Eje ␣ x ’)

5
plt . ylabel ( ’ Eje ␣ y ’)
plt . legend ( loc =(0.7 ,0.65) )
plt . grid ( linestyle = ’ -- ’)
os . chdir ( ’C :\\ Users \\ aleja \\ OneDrive \\ Escritorio \\ Jupyter ’)
plt . savefig ( ’ Grafico_1_div_x . png ’ , format = ’ png ’ , dpi =1000)
plt . show ()

5.4. Gráfico de barras

import matplotlib . pyplot as plt


import numpy as np
import math
import os
categorias =[ ’ Categoria 1 ’ , ’ Categoria 2 ’ , ’ Categoria 3 ’ , ’ Categoria 4 ’]
valores =[10 ,12 ,20 ,4]
colores =[ ’ red ’ , ’ blue ’ , ’ pink ’ , ’ yellow ’]
plt . bar ( categorias , valores , color = colores , label =[ ’ Rojo ’ , ’ Azul ’ , ’ Rosa ’ , ’
,→ Amarillo ’])
plt . title ( ’ G r f i c o de barras ’ , fontdict ={ ’ family ’: ’ sans serif ’ , ’ color ’:
,→ ’ green ’ , ’ weight ’: ’ bold ’ , ’ size ’: 24})
plt . xlabel ( ’ Categorias ’, size =15 , weight = ’ bold ’)
plt . ylabel ( ’ Valores ’, size =15 , weight = ’ bold ’)
plt . legend ()
os . chdir ( ’ C :\\ Users \\ aleja \\ OneDrive \\ Escritorio \\ Jupyter ’)
plt . savefig ( ’ Barras . png ’ , format = ’ png ’ , dpi =3000)
plt . show ()

También podría gustarte