Representación gráfica de funciones lineales - Gráficos con Matplotlib

Índice

Introducción:

Hace unos días, estaba trabajando con funciones lineales, ya saben "f(x) = mx+b", donde "m" es la pendiente de la recta y "b" el termino independiente.

Todo esta bien, ya le había pasado todos los valores a "x" y había obtenidos todos los resultados, solo faltaba una cosa, "Graficar la función".

Mientras empezaba a graficar la función, me puse a pensar y se me ocurrió que era buena idea saber como quedaría la gráfica al finalizar, y como no tengo una maquina del tiempo, opte por usar a Python para que me ayudara.


Este articulo no sera extenso, ya que sera hago sencillo, pero de gran utilidad.


Hoy realizaremos gráficas funciones lineales con ayuda de "matplotlib", si aun no cuentas con la libreria "matplotlib", puedes descargarla ingresando al siguiente enlace: matplotlib 2.1.0.

Graficando Funciones:

Para los que no conozcan a "matplotlib": Matplotlib es una biblioteca escrita en Python que nos permite generar gráficos a partir de datos contenidos en arrays. (Fuente: Wikipedia).

Con matplotlib, generar graficas a partir de un simple script, es muy fácil, ya lo verán. Escribiré un código que contenga a mi función, y le pase todos los valores que le asigne, luego generaremos una representación gráfica de esa función, la cual guardaremos como una imagen con formato "png".

from matplotlib import pyplot

#Función Lineal.
def f(x):
    return 4*x-7
#En esta variable se genera una lista con valores del -10 al 10.
#Todos estos valores serán los que tomara x.
x = range(-10, 10)

#Con el método plot especificamos que función graficaremos.
#El primer argumento es la variable con los valores de x.
#El segundo argumento le pasamos todos estos valares a la función con ayuda de un bucle.
pyplot.plot(x, [f(i) for i in x])

#Establecemos el color de los ejes.
pyplot.axhline(0, color="black")
pyplot.axvline(0, color="black")

#Especificamos los limites de los ejes.
pyplot.xlim(-11, 11)
pyplot.ylim(-11, 11)

#Guardamos el grafico en una imagen "png".
pyplot.savefig("función_lineal.png")

# Mostramos el gráfico.
pyplot.show()



Muy fácil ¿Verdad?. En nuestro directorio actual deberíamos ver la imagen de nuestro gráfico: 


Pero no nos limitemos, si debemos hacer gráficas de 5 funciones lineales, no es necesario hacer una gráfica para cada función.


Hagamos dos rectas más en este mismo gráfico, veamos un ejemplo:



from matplotlib import pyplot

#Funcines Lineal.
def f(x):
    return 4*x-7
def f1(x):
    return -3/1*x+6
def f2(x):
    return -3*x+9

#En esta variable se genra una lista a partir de los valores -10 y 10.
#Todos estos valores seran los que tomara x.
x = range(-10, 10)

#Con el metodo plot especificamos que función graficaremos.
#El primer argumento es la variable con los valores de x.
#El segundo argumento le pasamos todos estos valares a la función con ayuda de un bucle.
pyplot.plot(x, [f(i) for i in x])
pyplot.plot(x, [f1(i) for i in x])
pyplot.plot(x, [f2(i) for i in x])

#Establecemos el color de los ejes.
pyplot.axhline(0, color="black")
pyplot.axvline(0, color="black")

#Especificamos los limites de los ejes.
pyplot.xlim(-11, 11)
pyplot.ylim(-11, 11)

#Guardamos el grafico en una imagen "png".
pyplot.savefig("función_lineal.png")

# Mostramos el grafico.
pyplot.show()


El codigo no cambio mucho, simplemente e agregado dos funciones más:

#Funcines Lineal.
def f(x):
    return 4*x-7
def f1(x):
    return -3/1*x+6
def f2(x):
    return -3*x+9


Las cuales son "f1" y "f2". Luego usamos el método plot para introducirlas en la gráfica, igual que el procedimiento anterior se usa un bucle para ir recorriendo todo los datos de x.


#Con el método plot especificamos que función graficaremos.
#El primer argumento es la variable con los valores de x.
#El segundo argumento le pasamos todos estos valares a la función con ayuda de un bucle.
pyplot.plot(x, [f(i) for i in x])
pyplot.plot(x, [f1(i) for i in x])
pyplot.plot(x, [f2(i) for i in x])



Matplotlib por defecto, marcará de color diferente cada una de las rectas.


Si quieres descargar el código puedes hacerlo ingresando al siguiente enlace: Gráficas_Funciones.py


Bueno, como mencione al principio, el articulo no seria extenso, pero es de mucha utilidad.

Comparte tu experiencia con nosotros dejando un buen comentario, Si hubo algo que no te gusto, por favor, házmelo saber, de esta manera nos ayudas a mejorar el blog.


Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

  1. Anónimo dice:

    Gracias Luis!

  2. Blog de tecnología dice:

    Hola Luis, antes que nada quiero agradecerte por tu gran aportación. Tengo un pequeño problema al querer dibujar una hipérbola a través de la función f(x) = x^2. Por algún motivo, la línea en el cuadrante x e y positivo me sale a la mitad. Por el contrario en el otro cuadrante, la línea sale completa.

  3. Silvio dice:

    Hola. Podrías decirme por que esto no dibuja la grafica? Qué le falta?

    def f(x):
    return 4*x - 7

    def dibujaCurva():
    x = range(0, 3)
    print([f(i) for i in x]) #para verificar valores
    plt.plot = (x, [f(i) for i in x])
    plt.axhline(0, color="black")
    plt.axvline(0, color="black")
    plt.xlim(-1, 4)
    plt.ylim(-1, 4)
    plt.show()

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey