matplotlib 未在绘图中显示图形

matplotlib not showing graphs in the plot

我试图绘制一个依赖于主变量以外的其他变量的函数,以查看差异并获得最佳简历,但最后该图没有显示任何图表,这是我的代码:

import matplotlib.pyplot as plt
import math as m


l=[(0,0.016699),(1,0.023958),(2,0.02724),(3,0.033468),(4,0.42456),(5,0.059325),(6,0.063399),(7,0.079788),(8,0.095916),(9,0.125),(10,0.14622),(11,0.20257),(12,0.21643),(13,0.28974),(14,0.4424),(15,0.55856),(16,0.59991),(17,0.72561),(18,0.9964),(19,1.6748),(20,1.69)]

for i in range (12000):
    t=i
    for j in l:
        a=j[0]
        c=j[1]
        v=m.sqrt((2*(150-(40*9.8*m.sin(m.radians(a)))))/(1.2*c*0.875))*m.tanh(m.sqrt(((150/40)-9.8*m.sin(m.radians(a)))*(1.2*c*0.875*0.0125))*t)
plt.plot(t,v)
plt.show()

这是输出:

我更改了 x 和 y,所以 x 代替了 y,y 也一样,所以图片是更改前的,但结果相同,这不是主要问题,我也尝试更改 '12000 ' 到 100 使编译时间更快但没有结果

你只绘制了一个点: 将生成的数据记录到列表中并绘制列表:

l=[(0,0.016699),(1,0.023958),(2,0.02724),(3,0.033468),(4,0.42456),(5,0.059325),(6,0.063399),(7,0.079788),(8,0.095916),(9,0.125),(10,0.14622),(11,0.20257),(12,0.21643),(13,0.28974),(14,0.4424),(15,0.55856),(16,0.59991),(17,0.72561),(18,0.9964),(19,1.6748),(20,1.69)]
data_t = []
data_v = []
for t in range (50):
    for j in l:
        a = j[0]
        c = j[1]
        v = m.sqrt((2*(150-(40*9.8*m.sin(m.radians(a)))))/(1.2*c*0.875))*m.tanh(m.sqrt(((150/40)-9.8*m.sin(m.radians(a)))*(1.2*c*0.875*0.0125))*t)
        data_t.append(t)
        data_v.append(v)
print(data_v)
plt.plot(data_t,data_v)
plt.show()

输出: