Dibujar una línea en el plano con Python y Matplotlib

Hoy llegó temprano mi hermana del trabajo y de improviso me aventó una pregunta extraña:

–¿Cómo se resuelve está ecuación algebraica?

Yo estaba creyendo que era algo que más o menos me hiciera pensar, con elevaciones al cubo, fracciones, una de 2×2 de perdida, pero era un simple:

4 x - 1 = y

Aún así no entendí que era lo que quería, hasta que me dijo que se tenía que graficar…

–Tan fácil, sólo tienes que sustituir el valor de x por un rango de valores

–…mmm…

–Espera, vamos a dejar que lo haga la computadora

Y que abro mi terminal, tipeo vim testing.py, lo que salió fue lo siguiente:

import matplotlib.pyplot as pyplt

a = int(raw_input('dame el valor inicial: '))
b = int(raw_input('dame el valor final: '))
x, y = [], []

while a <= b:
  x.append(a)
  y.append(4*a-1)
  a += 1

pyplt.plot(x,y)
pyplt.show()

Probé cambiando la línea 9 por y.append(a*a) para obtener una parábola:

Matplotlib
Matplotlib

Después de un rato me quedé pensando y me dí cuenta que el código estaba muy puñetero, importé numpy e hice lo siguiente:

import numpy as np
import matplotlib.pyplot as plt
  
def f(p):
  return p*p
  
a = int(raw_input('dame el valor inicial: '))
b = int(raw_input('dame el valor final: '))
c = np.arange(a, b+1)
 
plt.plot(c, f(c))
plt.show()

Parece que el segundo script quedó un poquito mejor… Después de todo sí me hizo pensar, de hecho sigo pensando que se podría hacer mejor… ¿Algún tip?

3 comentarios sobre “Dibujar una línea en el plano con Python y Matplotlib

  1. Jeje, no soy muy bueno para esto de graficar, pero estoy aprendiendo a hacer pequeños gráficos en python y este script me parecio muy informativo. Estoy aprendiendo en pygame, pero comprendo más o menos el script, por lo menos el primero… la formula esta donde se dibuja y como para encontrarlo, algo asi entiendo. (Lo siento soy muy novato en mate, fisica, progra, etc…)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s