2016-11-16 116 views
0

我正在尝试绘制连接的折线图。如果我对下面的代码进行更改,则无法显示该图。在matplotlib中绘制折线图

我的情节,截至目前,充满了无关的点。

如何生成连接点的线图?

x = np.zeros(sheet_1.max_row) 
y = np.zeros(sheet_1.max_row) 

print (sheet_1.max_row) 
print (sheet_1.max_column) 

f = open("Bad_Data_Points_CD25.txt", "w") 

for i in range(0, 10): #change to 1000 
    for j in range(0, 289): # change to 289 

     x[i] = sheet_1.cell(row=i + 1, column=j + 1).value #J + 1 changed to J 
     print x[i] 
     plt.plot(i, x[i],'go-', label='Values') 



plt.grid(True) 

plt.title("ABCD") 
plt.ylabel("ABCD") 
plt.ylim(0,0.15) 
plt.xlabel("ABCD") 
plt.xlim(0, 10) 

plt.show() 

回答

1

你的循环结构是这样的,你发出每个数据点的一个plot()电话。但是如果你一次绘制一个完整的序列,你只会看到连接的线条。

我做了以下三个变化:

  • 我已经换的,因为你已经选择了改写和重新使用xj

    每个不同价值的方式的两个循环嵌套顺序
  • 我已经不缩进的plot命令,这样它的j循环的一部分,但不是i

  • 我已经改变了plot论点一次

    for j in range(0, 289): # change to 289 
    
        for i in range(0, 10): 
    
         x[i] = sheet_1.cell(row=i + 1, column=j + 1).value #J + 1 changed to J 
         print x[i] 
    
        plt.plot(x, 'go-', label='Values from column %d' % (j+1)) 
    
绘制整个 x