如何创建具有可缩放x轴的绘图?此时,图形空间2,4,8,16,32 ......等同。
注意: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()
答案 0 :(得分:1)
您需要为绘图函数提供xvalues和yvalues。
plt.plot(x,y, ...)
我认为在这种情况下你需要
plt.plot(xvals,avgs, ...)