SymPy - Tracé
SymPy utilise la bibliothèque Matplotlib comme backend pour restituer des graphiques 2D et 3D de fonctions mathématiques. Assurez-vous que Matplotlib est disponible dans l'installation actuelle de Python. Sinon, installez-le en utilisant la commande suivante -
pip install matplotlib
Le support de traçage est défini dans le module sympy.plotting. Les fonctions suivantes sont présentes dans le module de traçage -
plot - Tracés linéaires 2D
plot3d - Tracés de lignes 3D
plot_parametric - Graphiques paramétriques 2D
plot3d_parametric - Tracés paramétriques 3D
La fonction plot () renvoie une instance de la classe Plot. Une figure de tracé peut avoir une ou plusieurs expressions SymPy. Bien qu'il soit capable d'utiliser Matplotlib comme backend, d'autres backends tels que texplot, pyglet ou Google charts API peuvent également être utilisés.
plot(expr, range, kwargs)
où expr est une expression symPy valide. S'il n'est pas mentionné, la plage utilise la valeur par défaut (-10, 10).
L'exemple suivant trace les valeurs de x2 pour chaque valeur de la plage (-10,10) -
>>> from sympy.plotting import plot
>>> from sympy import *
>>> x=Symbol('x')
>>> plot(x**2, line_color='red')
Pour dessiner plusieurs tracés pour la même plage, donnez plusieurs expressions avant le tuple de plage.
>>> plot( sin(x),cos(x), (x, -pi, pi))
Vous pouvez également spécifier une plage distincte pour chaque expression.
plot((expr1, range1), (expr2, range2))
La figure suivante trace sin (x) et cos (x) sur différentes plages.
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)))
Les arguments de mots-clés facultatifs suivants peuvent être spécifiés dans la fonction plot ().
line_color - spécifie la couleur de la ligne de tracé.
title - une chaîne à afficher comme titre
xlabel - une chaîne à afficher comme étiquette pour l'axe X
ylabel - une chaîne à afficher comme étiquette pour l'axe y
>>> plot( (sin(x),(x, -2*pi, 2*pi)),(cos(x), (x, -pi, pi)), line_color='red', title='SymPy plot example')
La fonction plot3d () rend un tracé en trois dimensions.
plot3d(expr, xrange, yrange, kwargs)
L'exemple suivant dessine un tracé de surface 3D -
>>> from sympy.plotting import plot3d
>>> x,y=symbols('x y')
>>> plot3d(x*y, (x, -10,10), (y, -10,10))
Comme dans le tracé 2D, un tracé tridimensionnel peut également avoir plusieurs tracés, chacun avec une plage différente.
>>> plot3d(x*y, x/y, (x, -5, 5), (y, -5, 5))
La fonction plot3d_parametric_line () rend un tracé linéaire paramétrique en 3 dimensions.
>>> from sympy.plotting import plot3d_parametric_line
>>> plot3d_parametric_line(cos(x), sin(x), x, (x, -5, 5))
Pour dessiner un tracé de surface paramétrique, utilisez la fonction 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))