Récemment, je faisais un graphique d'équations linéaires au collège, et j'ai décidé de le faire parce que je pensais: "Si vous demandez à Python de faire cela, vous pouvez en profiter ~~ C'est intéressant ~~".
Entrez le taux de changement (gradient) et la section pour afficher le graphique. Si vous voulez que le taux de variation soit une fraction, entrez-le sous la forme y / x.
--Python2.7 (Parce que je viens d'installer PyCharm ...)
Importez ce dont vous avez besoin pour le moment
main.py
import matplotlib.pylab as plt
import numpy as np
L'entrée se fait avec raw_input ()
.
main.py
#réduction
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
Obtenez le taux de changement de la formule. Puisque l'expression a une forme comme $ rx + i $, la chaîne de caractères avant «+» est le taux de changement. Obtenez-le avec split
.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
Ensuite, récupérez la section. Considérons le cas où la section est 0.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
ic = 0 if le.split("x")[1] == "" else le.split("x")[1]
Ensuite, nous initialiserons la quantité de changement en x et y.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
ic = 0 if le.split("x")[1] == "" else le.split("x")[1]
x_rate = 1
y_rate = 1
Ensuite, créez un processus lorsque le taux de changement est une fraction (lorsqu'il est séparé par /) et un processus lorsqu'il n'est pas séparé.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
ic = 0 if le.split("x")[1] == "" else le.split("x")[1]
x_rate = 1
y_rate = 1
if rate.find("/") > -1:
x_rate = int(rate.split("/")[1])
y_rate = int(rate.split("/")[0])
else:
x_rate = 1
y_rate = 1 if rate == "" else int(rate)
Le reste consiste à générer un tableau avec la quantité de changement.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
ic = 0 if le.split("x")[1] == "" else le.split("x")[1]
x_rate = 1
y_rate = 1
if rate.find("/") > -1:
x_rate = int(rate.split("/")[1])
y_rate = int(rate.split("/")[0])
else:
x_rate = 1
y_rate = 1 if rate == "" else int(rate)
x = np.linspace(-x_rate / 2,x_rate,4)
y = x * y_rate + int(ic)
Enfin, dessinez un graphique à partir du tableau.
main.py
import matplotlib.pylab as plt
import numpy as np
print("Liner equation:")
le = raw_input()
rate = le.split("x")[0]
ic = 0 if le.split("x")[1] == "" else le.split("x")[1]
x_rate = 1
y_rate = 1
if rate.find("/") > -1:
x_rate = int(rate.split("/")[1])
y_rate = int(rate.split("/")[0])
else:
x_rate = 1
y_rate = 1 if rate == "" else int(rate)
x = np.linspace(-x_rate / 2,x_rate,4)
y = x * y_rate + int(ic)
plt.plot(x,y,"r-")
plt.show()
C'est tout ce qu'on peut en dire!
Après cela, exécutez-le et entrez l'équation linéaire, et elle sera dessinée.
$ 4x+5 $ $ x+1 $ $ -3x-5 $
Je suis encore nouveau sur Python, alors donnez-moi quelques conseils.
Je viens de remarquer que la classe pour sortir le graphique de la formule était terminée ...
Recommended Posts