SymPy - Trazado
SymPy usa la biblioteca Matplotlib como backend para representar gráficos en 2-D y 3-D de funciones matemáticas. Asegúrese de que Matplotlib esté disponible en la instalación actual de Python. Si no es así, instale el mismo usando el siguiente comando:
pip install matplotlib
El soporte de trazado se define en el módulo sympy.plotting. Las siguientes funciones están presentes en el módulo de trazado:
plot - Gráficos de líneas 2D
plot3d - Gráficos de líneas 3D
plot_parametric - Gráficos paramétricos 2D
plot3d_parametric - Gráficos paramétricos 3D
La función plot () devuelve una instancia de la clase Plot. Una figura de la trama puede tener una o más expresiones SymPy. Aunque es capaz de usar Matplotlib como backend, también se pueden usar otros backends como texplot, pyglet o la API de gráficos de Google.
plot(expr, range, kwargs)
donde expr es cualquier expresión symPy válida. Si no se menciona, el rango usa el valor predeterminado como (-10, 10).
El siguiente ejemplo traza valores de x2 para cada valor en el rango (-10,10) -
>>> from sympy.plotting import plot
>>> from sympy import *
>>> x=Symbol('x')
>>> plot(x**2, line_color='red')
Para dibujar varios gráficos para el mismo rango, proporcione varias expresiones antes de la tupla de rango.
>>> plot( sin(x),cos(x), (x, -pi, pi))
También puede especificar un rango separado para cada expresión.
plot((expr1, range1), (expr2, range2))
La siguiente figura traza sin (x) y cos (x) en diferentes rangos.
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))
Los siguientes argumentos de palabras clave opcionales se pueden especificar en la función plot ().
line_color - especifica el color de la línea gráfica.
title - una cadena que se mostrará como título
xlabel - una cadena que se mostrará como etiqueta para el eje X
ylabel - una cadena que se mostrará como etiqueta para el eje y
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)), line_color='red', title='SymPy plot example')
La función plot3d () genera un gráfico tridimensional.
plot3d(expr, xrange, yrange, kwargs)
El siguiente ejemplo dibuja un gráfico de superficie 3D:
>>> from sympy.plotting import plot3d
>>> x,y=symbols('x y')
>>> plot3d(x*y, (x, -10,10), (y, -10,10))
Al igual que en el gráfico 2D, un gráfico tridimensional también puede tener varios gráficos, cada uno con un rango diferente.
>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))
La función plot3d_parametric_line () genera una gráfica de línea paramétrica tridimensional.
>>> from sympy.plotting import plot3d_parametric_line
>>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))
Para dibujar una gráfica de superficie paramétrica, use la función plot3d_parametric_surface ().
plot3d_parametric_surface(xexpr, yexpr, zexpr, rangex, rangey, kwargs)
>>> from sympy.plotting import plot3d_parametric_surface
>>> plot3d_parametric_surface(cos(x+y), sin(x-y), x-y, (x, -5, 5), (y, -5, 5))