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))