Graficar funciones en Python

Share this Post Share to Facebook Share to Twitter Email This Pin This
Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama matplotlib que nos sirve para gráfica funciones de matemáticas.


Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré un blog de Raul E. Lopez Briega donde habla de la librería Matplotlib


Como instalar Matplotlib
Para instalar deben utilizar el comando PIP en 2.7

Instalando en Python 3.7


Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola
  • python -m pip install -U pip
  • python -m pip install -U matplotlib
Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python.

Un ejemplo basado de la pagina de Raúl para crear gráficas de ecuaciones cuadradas como la de la imagen y les mostrare 2 ejemplos más con diferentes funciones.

Programa para graficar en Python


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

def move_spines():
    """Esta funcion divide pone al eje y en el valor 
    0 de x para dividir claramente los valores positivos y
    negativos."""
    fix, ax = plt.subplots()
    for spine in ["left", "bottom"]:
        ax.spines[spine].set_position("zero")
    
    for spine in ["right", "top"]:
        ax.spines[spine].set_color("none")
    
    return ax

y = 10
x = np.linspace(-2, 6, num=30)

y = 10
x = np.linspace(-2, 6, num=30)

ax = move_spines()
ax.grid()
ax.plot(x,x + 3)
plt.title(r"Grafico de $f(x)=\sqrt{x + 2}$")
plt.ylabel('f(x)')
plt.xlabel('x')
plt.show()

Programa para Graficar 2 funciones en Python


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

#definimos las 2 funciones
# 2x al cuadrado +  5x - 2
def f1(x):
    return 2 * (x ** 2) + 5*x - 2
# P(t)={\frac {1}{1+e^{-t}}}}
def sigmoide(x):
    return 1 / (1 + mt.exp(-x))

#asignamos un rango de valores a graficar 
var = range(-10, 15)

plt.plot(var,[f1(i) for i in var], label= 'Funcion 1')
plt.plot(var,[sigmoide(i) for i in var], label= 'Función Sigmoide')

plt.xlim(-10, 10)
plt.ylim(-10, 10)
#colocamos la leyenda en la parte inferior derecha
plt.legend(loc='lower right')
plt.show()                



Programa para gráficar funciones trigonométricas

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


def seno(x):
return mt.sin(x)
def coseno(x):
return mt.cos(x)
def tangente(x):
return mt.tan(x)


var = range(-10, 10)


plt.plot(var,[seno(i) for i in var], label= 'Seno')
plt.plot(var,[coseno(i) for i in var], label= 'Coseno')
plt.plot(var,[tangente(i) for i in var], label= 'Tangente')


plt.xlim(-10, 10)
plt.ylim(-10, 10)
plt.legend(loc='lower right')
plt.show()

Algo que deben notar también, es que cuando mueven el curso sobre la gráfica muestra los valores calculados y las gráficas tiene un menú , donde puedes dar zoom , guardan una imagen de la gráfica, cambiar los parámetros para visualizar la gráfica 


Espero les sirva estos programas, ustedes pueden complementarlos para leer los datos de algún archivo csv, xml o txt. o realizar funciones más complejas.

No olvides compartirnos y seguirnos en este blog o en Facebook.

No hay comentarios.:

Publicar un comentario