plt.plot
требует более одной точки (если не указан маркер), поэтому
plt.plot(i,y)
не будет отображать график, когда i
и y
являются отдельными значениями, только если они массивы или массивоподобные объекты. Вы можете либо заменить это на plt.scatter
,
import matplotlib.pyplot as plt
v=25300000 # m/s
E=1000 # V/m
d=10 # m
m=9*pow(10,-31) #kg
q=1.6*pow(10,-19) # C
for i in range(0,d):
y=(q*E*i*i)/(2*m*v*v)
plt.scatter(i,y)
plt.xlabel("x")
plt.ylabel("y")
plt.show()
, что даст вам
![enter image description here](https://i.stack.imgur.com/wzVlM.png)
, либо составить список значения y
и x
,
y = []
x = []
for i in range(0, d):
y.append((q*E*i*i)/(2*m*v*v))
x.append(i)
plt.plot(x,y)
Или, что еще лучше, сделать массивы x
и y
numpy:
import numpy as np
# ...
x = np.arange(0,10)
y = (q*E*x**2)/(2*m*v*v)
plt.plot(x,y)
Любой из которых будет дать вам
![enter image description here](https://i.stack.imgur.com/kjG7Q.jpg)