Representación gráfica de funciones lineales - Gráficos con Matplotlib
Introducción:
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:
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()
#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.
-
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.
-
Hola. Podrías decirme por que esto no dibuja la grafica? Qué le falta?
def f(x):
return 4*x - 7def 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
Gracias Luis!