~~ Je suis désolé si j'ai mal compris. ~~ Je n'avais pas assez de connaissances. Nous avons reçu un commentaire de @SaitoTsutomu et de résolu.
Démarrez jupyter notebook
. Tout d'abord, la préparation.
from sympy.plotting import plot, plot_implicit, plot_parametric
from sympy import symbols, sin, cos, pi
x, y, t = symbols('x y t')
plot
plot(x**2, (x, -2, 2))
Ensuite, $ y = x ^ 2 $ dans la plage de $ -2 \ leqq x \ leqq 2 $ est dessiné.
Il est également possible d'afficher des graphiques de plusieurs fonctions en même temps. Dessinez $ y = x ^ 2 $ et $ y = x $ dans le même espace de coordonnées.
plot(x**2, x, (x, -2, 2))
plot_implicit
Vous pouvez également dessiner une figure (fonction dite négative) sous la forme $ f (x, y) = 0 $. Vient ensuite $ x ^ 2 + y ^ 2-1 = 0 $, c'est-à-dire un cercle de rayon de $ 1 $ centré sur l'origine.
plot_implicit(x**2+y**2-1)
Je suis préoccupé par le rapport hauteur / largeur du rapport hauteur / largeur, mais c'est un cercle pour le moment. Il semble que plot_implicit
ne puisse pas définir deux expressions ou plus et dessiner plusieurs courbes. La fonction implicite signifie-t-elle que le traçage est gênant?
plot_parametric
C'est mon préféré. Si $ y = f (x)
plot_parametric(cos(t), sin(t), (t, 0, 2*pi))
Vous pouvez dessiner plusieurs courbes en même temps.
plot_parametric((cos(t), sin(t)), (cos(t)+1, sin(t)+1), (t, 0, 2*pi))
Il est également possible de régler individuellement la plage de paramètres.
plot_parametric((cos(t), sin(t), (t, 0, 2*pi)), (cos(t)+1, sin(t)+1, (t, 0, pi)))
Au fait, je suis sûr que certains d'entre vous s'y intéressent depuis longtemps, mais vous pouvez voir une ellipse même si vous devriez tracer un cercle. Selon le Document officiel
aspect_ratio : tuple of two floats or {‘auto’}
Il y a, mais rien ne change même si cela est défini ...
plot_parametric((cos(t), sin(t)), (cos(t)+1, sin(t)+1), (t, 0, 2*pi), axis=False, aspect_ratio=(1, 1))
Je peux confirmer que l'option ʻaxis est appliquée, mais ʻaspect_ratio
ne répond pas. J'ai cherché sur Google, mais ce n'était qu'un site anglais, alors je l'ai parcouru pendant un moment, mais je n'ai pas pu obtenir de réponse claire.
En premier lieu, sympy plot semble médier matplotlib, alors changer de force le paramètre de matplotlib? Il y avait une réponse comme celle-ci, mais j'ai pensé qu'il valait mieux l'illustrer avec matplotlib depuis le début si je voulais le faire.
C'est mon opinion d'un amateur qui n'est ni programmeur ni rien, mais même si j'insère un mot-clé que je ne m'attendais pas à être ** kwargs
, aucune erreur particulière ne se produit. Je pense que c'est une spécification assez dangereuse ... J'ai pensé aux fautes d'orthographe dans ʻaspect_ratio, mais je n'ai pas dit oui ou non, donc je n'étais même pas sûr d'être au courant de l'option ʻaspect_ratio
.
La taille de l'écran est différente de aspect_ratio.
from sympy.plotting import plot_parametric
from sympy import symbols, sin, cos, pi
t = symbols('t')
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (8,8)
plot_parametric(cos(t), sin(t), (t, 0, 2*pi))
Il a été affiché en toute sécurité à 1 $: 1 $. Merci, @SaitoTsutomu.
Recommended Posts