在matplotlib中绘制线图

时间:2016-11-16 18:34:02

标签: python matplotlib plot

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

截至目前,我的情节充满了未连接的点。

如何生成连接点的折线图?

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 个答案:

答案 0 :(得分:1)

您的循环结构使您每个数据点发出一次plot()次呼叫。但是如果你一次绘制整个序列,你只会看到连线。

我在下面做了3处更改:

  • 我已经交换了两个循环的嵌套顺序,因为您选择覆盖并重复x的每个不同值j的方式

  • 我已将plot命令取消缩进,使其成为j循环的一部分,而不是i循环

  • 我已更改plot参数,以便一次性绘制整个x

    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))