2017-06-27 52 views
0

我將如何創建一個具有可縮放的x軸的圖形?此刻,圖形空間2,4,8,16,32,...相等。Matplotlib - 不規則數據區間

注意:data.txt文件包含所有原始y值(示例:0.7690 0.7618 0.7762 0.7747 0.7783 0.7747 0.7152 0.6722 0.5151\n ...)。我平均所有的列來獲得y值。

import matplotlib.pyplot as plt 

file = open("data.txt", "r") 
accs = file.readlines() 
accs = [x.strip() for x in accs] 

the_list = [] 
for i in range(len(accs[0].split())): 
    the_list.append([]) 

for i in range(len(accs)): 
    for k in range(len(accs[i].split())): 
     the_list[k].append(float(accs[i].split()[k])) 

avgs = [] 
for j in range(len(the_list)): 
    avgs.append(sum(the_list[j])/len(the_list[j])) 

x_vals = [2, 4, 8, 16, 32, 64, 128, 256, 512] 
y_vals = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8] 

plt.plot(avgs, "-b", label="batch size") 
plt.xticks(range(len(avgs)), x_vals) 
#plt.yticks(y_vals) 
plt.ylabel('percentage') 
plt.xlabel('batch size') 
plt.legend(loc='lower right') 


plt.show() 

file.close() 

回答

1

您需要爲繪圖函數提供xvalues以及yvalues。

plt.plot(x,y, ...) 

我認爲在這種情況下,你想

plt.plot(xvals,avgs, ...) 
相關問題