Esta pequeña publicación es un aperitivo para una sucesión de publicaciones en donde desarrollaré todos los métodos de graficación en Python, tanto 2D como 3D y algunas alternativas para dimensiones mayores.
Observación: Debes tener instalado matplotlib. Si tienes dudas sobre como instalarlo, puedes dejar un comentario, sin embargo, si eres un usuario de Debian (Ubuntu, Linux Mint, etc) o distribuciones parecidas, puedes buscarlo en synaptic o usar apt-get.
El código en cuestión es:
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(0,10,0.1)
y=2*np.sin(4*x)-x**2+10*x #f(x)=2sin(4x)-x^2+10x
plt.plot(x,y)
plt.show()
Puedes usar la librería math en lugar de numpy para utilizar la función seno, y en general para cualquier otra función, con lo que el código sería:
import math
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,10,0.1)
y=2*math.sin(4*x)-x**2+10*x #f(x)=2sin(4x)-x^2+10x
plt.plot(x,y)
plt.show()
Finalmente el resultado es:
Nota final: Preferí colocar una función mas interesante que la eterna parábola que aparece en todo manual de graficación. Te invito a jugar con este código simple, seguro lograrás hacer cosas mejores.
Si te ha gustado este artículo, coméntalo, si quieres mas información, pídela. Tu tienes completo control sobre los contenidos de este blog.
Fuente: http://progpython.blogspot.com
me gustaria q me dieras algun link para descargar matplotlib y que me explicaras como instalarlo paso a paso en windows, por favor me seria de muchisima ayuda para los proyectos de la universidad.
ResponderEliminarLo mejor que puedes hacer es instalar pythonxy, que es una distribución de python equipada con matplotlib, numpy, scipy y muchas otras herramientas que te interesarán.
ResponderEliminarhttp://code.google.com/p/pythonxy/
Su IDE Spyder es muy bueno, sobre todo para aprender.
Sino, puedes encontrar un repositorio de librerías de Python para Windows en http://www.lfd.uci.edu/~gohlke/pythonlibs/ todas con instalador.
Finalmente, nada mejor que pip-python, pues esta herramienta te permite instalar cualquier paquete fácilmente con una simple linea de comandos.
Saludos y espero que te sirva la información.
Hombre gracias por el código de verdad gracias pero eeeh lo podrías explicar linea por linea es que tengo dificultades para meter una función diferente.Que pena ser tan letardo jejejeje ;)
ResponderEliminarLo explico linea por linea:
ResponderEliminar1) Importamos la librería de numpy, pues de aquí podemos extraer funciones como seno, coseno, logaritmo, etc.
import numpy as np
2) Importamos la librería de graficación matplotlib:
import matplotlib.pyplot as plt
3) Creamos el dominio de la función, es decir, el conjunto de puntos que queremos evaluar en la función. np.arange(a,b,paso) crea el intervalo desde el número a hasta b, con un paso (puedes pensarlo como precisión) de 0.1. Observar que este será una lista.
x=np.arange(0,10,0.1)
4) creamos ahora el rango o el conjunto de las imágenes, evaluando la lista de puntos x en nuestra función, y=2sin(4x)-x^2+10x;
y=2*np.sin(4*x)-x**2+10*x #f(x)=2sin(4x)-x^2+10x
5) Graficamos la función,
plt.plot(x,y)
6) La mostramos en pantalla:
plt.show()
Uso Ubuntu, he intentado descargar la librería de diferentes formas, pero me aparece el siguiente error:
ResponderEliminarW: Failed to fetch http://co.archive.ubuntu.com/ubuntu/pool/universe/p/python-tz/python-tz_2010b-1ubuntu0.11.04.1_all.deb
404 Not Found
No he podido descargar la librería y lo he intentado de diversas fomas, quisiera saber si ¿podrías ayudarme a saber que pasa o qué hacer? Gracias.
instale python-matplotlib y creo el archivo *.py ejecuto y nada mi cursor se vuelve diferente y nada mas alguna opinion de que pasa
ResponderEliminarHola, qué versión de python es??
ResponderEliminaryo tengo la 3.2.
aqui hice un código interesante
ResponderEliminarimport numpy as np
import matplotlib.pyplot as plt
x=np.arange(-4.5,4.5,0.05)
y= np.sqrt(1-(pow((abs(x)-1),2)))
y1= np.arccos(1-abs(x))-np.pi
plt.plot(x,y)
plt.plot(x,y1)
plt.show()
aaay q lindo corazon jejeje
Eliminarcuando pongo el codigo, no me tira la grafica, me tira este error:
ResponderEliminarImportError: matplotlib requires pyparsing.
Estoy utilizando el IDE Spider 2.7
Debes instalar pyparsing :-)
Eliminarhola capo
ResponderEliminarquisiera q me ubiques paso a paso la instalacion ...y su uso..
quiero ..realizar funcion de circulo, medio y cuarto de circulo..
para hacer q una imagen....un sprite ..recorra ESE trazo.. entiendo de trigonometria pero ando trabado en la implementacion...
me vendria bien la ayuda
hola capo
ResponderEliminarquisiera q me ubiques paso a paso la instalacion ...y su uso..
quiero ..realizar funcion de circulo, medio y cuarto de circulo..
para hacer q una imagen....un sprite ..recorra ESE trazo.. entiendo de trigonometria pero ando trabado en la implementacion...
me vendria bien la ayuda
Ayuda, tengo problemas con la librería y no se como instalarla, la "descargue" (según yo) pero no se como instalarla o en que parte de la raíz va el archivo...
ResponderEliminarTraceback (most recent call last):
File "Untitled", line 2
import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot
no está instalada. Debes instalarla usando easy_install o pip
Eliminarya encontraron la solución?!
Eliminaralguien puede ayudarme a graficar esta funcion porfavor??
ResponderEliminare^t * sen t
para invocar la función exponencial debes cargar la librería math
Eliminarasí tu función se leería math.exp(t)*math.sin(t)
toma el código de arriba como referencia, solo que en lugar de x tendrás t.
Hola, en este link pueden descargar una guía paso a paso para instalar matplotlib, el numpy, etc. Eso si, es para python 3.4 y es mejor desinstalar la versión que tengan en la PC porque pueden presentarse conflictos. Está en inglés, pero no es un lenguaje tan complicado y tiene figuras.
ResponderEliminarEn la página buscan la sección que dice: "Windows Installation Guide and Installers" .En esa parte está la guía para verla en word o pdf. Pura Vida!
Link: http://web.cs.wpi.edu/~cs1004/a14/Resources/
Muchas gracias por este aporte me sirvio de mucho, muy resumido en pocas lineas de codigo.
ResponderEliminarAhora si no te molesta, solo necesito una cosa y no soy muy experimentado en Python, necesito ingresar las variables por pantalla como lo haria?
¿Que el usuario ingrese datos, la función o puntos?
EliminarMuy buen post, la verdad me ayudó demasiado.
ResponderEliminarGracias ... eso me motiva a seguir escribiendo.
Eliminar¿Alguien podría ayudarme a hacer una gráfica con la función seno?
ResponderEliminarSe grafica precisamente una función seno en este tutorial.
Eliminaraqui les dejo este de barras
ResponderEliminarfrom mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d')
xpos = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,16]
ypos = [2,3,4,5,1,6,2,1,7,2,3,5,1,3,2]
num_elements = len(xpos)
zpos = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
dx = 1
dy =1
dz = [20,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
ax1.bar3d(xpos, ypos, zpos, dx, dy, dz, color='Skyblue')
plt.show()