~~ Es tut mir leid, wenn ich falsch verstanden habe. ~~ Ich hatte nicht genug Wissen. Wir haben einen Kommentar von @SaitoTsutomu und gelöst erhalten.
Starten Sie "Jupyter Notebook". Zunächst die Vorbereitung.
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))
Dann wird $ y = x ^ 2 $ im Bereich von $ -2 \ leqq x \ leqq 2 $ gezeichnet.
Es ist auch möglich, Diagramme mehrerer Funktionen gleichzeitig anzuzeigen. Zeichnen Sie $ y = x ^ 2 $ und $ y = x $ im selben Koordinatenraum.
plot(x**2, x, (x, -2, 2))
plot_implicit
Sie können auch eine Zahl (sogenannte Negativfunktion) in Form von $ f (x, y) = 0 $ zeichnen. Als nächstes kommt $ x ^ 2 + y ^ 2-1 = 0 $, dh ein Kreis mit einem Radius von $ 1 $, der auf dem Ursprung zentriert ist.
plot_implicit(x**2+y**2-1)
Ich bin besorgt über das Seitenverhältnis des Seitenverhältnisses, aber es ist vorerst ein Kreis. Es scheint, dass plot_implicit
nicht zwei oder mehr Ausdrücke setzen und mehrere Kurven zeichnen kann. Bedeutet die implizite Funktion, dass das Plotten problematisch ist?
plot_parametric
Das ist mein Lieblings. Wenn $ y = f (x) $ ist, ist der Ausdruck begrenzt. Daher handelt es sich um eine Darstellung der Figur, die durch die Anzeige der Mediatorvariablen dargestellt wird. Zum Beispiel
plot_parametric(cos(t), sin(t), (t, 0, 2*pi))
Sie können mehrere Kurven gleichzeitig zeichnen.
plot_parametric((cos(t), sin(t)), (cos(t)+1, sin(t)+1), (t, 0, 2*pi))
Es ist auch möglich, den Parameterbereich individuell einzustellen.
plot_parametric((cos(t), sin(t), (t, 0, 2*pi)), (cos(t)+1, sin(t)+1, (t, 0, pi)))
Ich bin mir übrigens sicher, dass einige von Ihnen schon lange daran interessiert sind, aber Sie können eine Ellipse sehen, obwohl Sie einen Kreis zeichnen sollten. Laut dem offiziellen Dokument
aspect_ratio : tuple of two floats or {‘auto’}
Es gibt, aber nichts ändert sich, auch wenn dies eingestellt ist ...
plot_parametric((cos(t), sin(t)), (cos(t)+1, sin(t)+1), (t, 0, 2*pi), axis=False, aspect_ratio=(1, 1))
Sie können sehen, dass die Option "Achse" angewendet wird, "Aspektverhältnis" jedoch nicht reagiert. Ich habe bei Google gesucht, aber es war nur eine englische Website, also habe ich sie mir eine Weile angesehen, aber ich konnte keine klare Antwort bekommen.
Erstens scheint Sympy Plot Matplotlib zu vermitteln, also die Einstellung von Matplotlib zwangsweise ändern? Es gab eine Antwort wie diese, aber ich dachte, es wäre besser, sie von Anfang an mit matplotlib zu veranschaulichen, wenn ich es tun wollte.
Es ist meine Meinung zu einem Amateur, der weder Programmierer noch irgendetwas ist, aber selbst wenn ich ein Schlüsselwort einfüge, von dem ich nicht erwartet hatte, dass es "** kwargs" ist, tritt kein besonderer Fehler auf. Ich denke, es ist eine ziemlich gefährliche Spezifikation ... Ich habe über Rechtschreibfehler in "aspect_ratio" nachgedacht, aber ich habe nicht "Ja" oder "Nein" gesagt, daher war ich mir nicht einmal sicher, ob ich die Option "aspect_ratio" erkannt habe.
Die Bildschirmgröße unterscheidet sich von 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))
Es wurde sicher bei $ 1: 1 $ angezeigt. Vielen Dank, @SaitoTsutomu.
Recommended Posts