Graficar funciones con matplotlib

El siguiente código de fuente muestra cómo realizar el gráfico de dos funciones matemáticas (una lineal y otra cuadrática) utilizando la librería matplotlib, guardar el resultado en una imágen PNG y mostrarla en pantalla.

Vista previa

f1(x) = 2X² + 5X - 2
f2(x) = 4X + 1

from matplotlib import pyplot

# Función cuadrática.
def f1(x):
    return 2*(x**2) + 5*x - 2

# Función lineal.
def f2(x):
    return 4*x + 1

# Valores del eje X que toma el gráfico.
x = range(-10, 15)

# Graficar ambas funciones.
pyplot.plot(x, [f1(i) for i in x])
pyplot.plot(x, [f2(i) for i in x])

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

# Limitar los valores de los ejes.
pyplot.xlim(-10, 10)
pyplot.ylim(-10, 10)

# Guardar gráfico como imágen PNG.
pyplot.savefig("output.png")

# Mostrarlo.
pyplot.show()

Curso online 👨‍💻

¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

Consultoría 💡

Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.

13 comentarios.

  1. En Django no funciona. No muestra grafico alguno. Y he colocado todas la importaciones correspondientes y lo he revisado una y otra vez.
    el codigo de ejemplo lo he colocado en una

    def graficos(request):
    etc,
    etc.

    pero no funciona para Django, pues he probado en consola otros ejemplos mas sencillos aún y el grafico lo muestra perfectamente, no asi en Django

    • Recursos Python says:

      Hola. En Django lo único que no va a funcionar es pylot.show(), porque no está pensado para aplicaciones web. Simplemente tenés que mostrar el gráfico guardado en el HTML, como si fuera cualquier otra imagen.

      Saludos

  2. hola, me pasa que para algunas funciones de matplotlib, python las reconoce, pero por ejemplo para plt.figure
    y plt.show no. Incluso pueden haber mas, pero el modulo si esta instalado y aparece en la «basa de datos» de python. ayuda por favor

  3. No entiendo porque no me aparece mi gráfico, en la abscisas uso valores de 0 a 10^-5 y en la ordenada valores de 0 a 500. Comprobé los rangos y todo me da bien, al evaluar numéricamente la función con códigos pero no me aparece el gráfico y no se que hacer. (Esto es para evaluar un momento en base a su curvatura).

  4. hola que tal! tengo problemas al llamar a la librería matplotlib, al ejecutar el código no reconoce tal librería, que debo hacer?, gracias

  5. Hola, cómo puedo ampliar los ejes
    Cuando grafico me sale sólo un pedazo de la gráfica, pues queda recortada puesto que sólo me sale de -5 a 5 tanto X como Y, probé conlos códigos que aperecen para limitar los ejes y no me da me sale primero un cuadro con los límites que puse y luego el gráfico con X e Y de -5 a 5

Deja una respuesta