2017-10-18 27 views
0

我从一个文本文件中绘制,但我的X轴在10前2,20之前3等。 examplePython3 matplotlib.pyplot地块10,11,12 ..之前2 20,21,22 ...之前3等

当我多次运行我的程序时,即使使用相同的输入文本文件,这些图也不一致。

当我在另一台电脑上运行它时,情节很好。但在我的Ubuntu机器上,每次都会发生这种情况。

我的代码:

import matplotlib.pyplot as plt; 

x = []; 
y = []; 

opened = 0; 

try: 
    readFile = open('xy.txt','r'); 
    opened = 1; 
except: 
    print('some error occurred!'); 

if opened: 

    for line in readFile: 
     splitUp = line.split(); 
     x.append(splitUp[0]); 
     y.append(splitUp[1]); 

     print(splitUp[0] + ',' + splitUp[1]); 

    plt.plot(x,y); 
    readFile.close(); 

    plt.show(); 
+0

print(splitUp [0] +','+ splitUp [1])的输出是什么;'? – yvs

+0

这当然不可重现。请发布问题的[mcve]。最好使用一些文本缓冲区('io.StringIO')或至少以可访问的方式提供输入数据。 – ImportanceOfBeingErnest

回答

0

你的阵列xy是字符串数组,所以他们按字母顺序排序,所以顺序是这样的:1,10,11,2,20,25,你可以尝试使用x.append(int(splitUp[0]))