我正在尝试从我的csv数据文件中生成图表。我的代码如下:
for name in per_data.dtype.names[2:]:
plt.plot(per_data['RELEASE'],per_data[name],label=name)
plt.legend(loc='upper left',prop = {'size':7},bbox_to_anchor=(1,1))
plt.tight_layout(pad=5)
plt.xlabel ('Release')
plt.ylabel ('Time/Sec')
plt.title ('Ingest Performance Test')
plt.grid()
plt.show()
我的csv数据是:
DATE RELEASE 10GB 100GB 200GB 400GB 600GB 800GB 1000GB
5/5/16 2.67 0.36 4.18 8.54 18 27 38 46
5/5/16 2.68 0.5 4.24 9.24 18 27 37 46
5/6/16 2.69 0.32 4.3 9.18 19 29 37 46
5/6/16 2.7 0.35 4.3 9.3 19 28 37 46
5/6/16 2.71 0.3 4.18 8.18 16 24 33 41
正如您所看到的,我正在使用第二列 - RELEASE作为我的x轴标签。问题是:实际发布的数字是:2.67,2.68,2.69,2.70,2.71 但是,在图表中,程序添加了额外的点(2.65,2.75,2.85,2.95和2.705)。如何设置它以使x轴的标签反映我的版本号?
答案 0 :(得分:3)
您需要使用plt.xticks()
,如图所示。它控制用于x轴的刻度线和标签。
在您的示例中,您必须添加另一行,如下所示:
for name in per_data.dtype.names[2:]:
plt.plot(per_data['RELEASE'],per_data[name],label=name)
plt.legend(loc='upper left',prop = {'size':7},bbox_to_anchor=(1,1))
plt.tight_layout(pad=5)
plt.xlabel ('Release')
plt.xticks (per_data['RELEASE'])
plt.ylabel ('Time/Sec')
plt.title ('Ingest Performance Test')
plt.grid()
plt.show()