为什么我的图表不正确?

时间:2016-03-24 13:10:23

标签: python plot graph spyder

我正在尝试绘制图形y = 5 * x - 300 / x,但我的ouptut只是一条直线,我不明白为什么。有人可以帮忙吗?感谢

xvls= []
Rvls= []

for x in range(-100,100,1):

    if x != 0:
       def R(x):
           f1 = 5*x
           f2 = 300/x
           f3 = f1+f2
           return f3
       error = 10
       while error >= 1e-6:
           error = R(x)-x
           x = x -error
           Rvls.append(R(x))
           xvls.append(x)
    else:
        print 0 

fig = plt.figure(figsize=(10,5))
xvls=np.linspace(-300,300, 25)
Rvls= np.linspace(-300,300, 25)
plt.subplot(1,2, 1)
plt.plot(xvls, Rvls, linestyle='-', marker='o', color='blue')
plt.xlabel('Distance from right hand pin')
plt.ylabel('Reaction force at left hand pin')
plt.title('The relationship between R(x) and x')
plt.rc('font', size=12)
plt.grid()

3 个答案:

答案 0 :(得分:0)

我认为linspace返回给定值之间的一行的值。

答案 1 :(得分:0)

    String yes = "yes";
    if(yourObject.english.equals(yes)) {
        if (m_english.isChecked()) {/*do nothing */}
        else m_english.toggle();
    } 

覆盖您之前执行的所有计算。你可能想把它们留下来。

答案 2 :(得分:0)

我猜测行f2 = 300/x可能是罪魁祸首。如果您正在使用Python 2.x f2将评估为整数,因为300和x都是整数。它不能说明你得到一条直线的事实,但你没有给出一个完全可编译的代码示例来排除故障。你能提供编译和产生问题所需的最少代码吗?