第二次调用show()

时间:2017-06-01 02:23:40

标签: python matplotlib machine-learning

我正在研究Jupyter Notebook的第一个项目 Python [conda root]。它在曲线拟合后生成一个奇怪的图形;数据不存在。它只显示一条线。

import scipy as sp
import numpy as np
import matplotlib.pyplot as plt

data= sp.genfromtxt(r'project1.csv', delimiter=",")

x=data[:,0]    
y=data[:,1]

print "Number of invalid entries:", sp.sum(sp.isnan(y))           
y= np.where(np.isnan(y),251,y)

plt.scatter(x,y)

plt.title('no. of employees needed over last 5 years')
plt.xlabel('year')
plt.ylabel('employees/month')
plt.xticks([W*12 for W in range(6)],['year %i'%w for w in range(6)])
plt.autoscale(tight=True)
plt.grid()

plt.show() 

def error(f,x,y):
    return sp.sum((f(x)-y)**2) **# working fine till here**

coef=np.polyfit(x,y,1)
model1=sp.poly1d(coef)
print error(model1,x,y) # 1697620.06999
fx=sp.linspace(0,x[-1],1000)
fx=sp.linspace(0,x[-1],1000)

plt.plot(fx,model1(fx), linewidth=4)
plt.legend(["d=%i" %model1.order], loc='upper left')

plt.show() **# this graph is empty.just a line..no data nothing.​**

最终图表:

同时删除最后一行中的plt.show()根本不会显示图表。

0 个答案:

没有答案