我已经编写了用于自定义我的x刻度的代码,下面是相同的代码段
arr_label = ['sum_msg_len','log_count','info_hit','debug_hit','error_hit']
for label in arr_label :
fig = plt.figure(figsize=(15,6))
axes = fig.add_axes([1,1,1,1])
axes.xaxis.set_major_locator(plt.LinearLocator(30))
axes.tick_params(axis ='x',labelsize=6)
axes.plot(df.index,df[label],'g',label =label)
axes.legend()
fig.autofmt_xdate()
fig.savefig('images_indv/'+app_index+"_"+label+".png",bbox_inches='tight')
#fig.close()
fig.clf()
我的要求是将时间戳按分钟间隔,并且我想逐一绘制时间戳vs('sum_msg_len'/'log_count'/'info_hit'/'debug_hit'/'error_hit'), 但问题是X刻度,我希望某些指定的刻度不出现在我正在绘制的数据范围内。 早些时候,当我没有指定任何定位器时,所有时间戳都重叠了,因此无法正确读取时间戳。因此,当我尝试使用定位器时,它会将x轴标记为与绘图值没有任何关系。 就像如果我使用LinearLocator(30)一样,它仅绘制图形中的前00到29分钟,如果我使用LinearLocator(50)则它只是在图形中绘制前00到49分钟,而y轴值没有变化。我在下面都放这两个图。我也尝试过使用MultipleLocator和MaxNlocator等不同的定位器,但是问题仍然存在
简而言之,我只想绘制从7月21日00:00:00到7月22日00:00:00的图表,该图表将是1440个条目,但是我希望看到该图中提到的30-40个中间条目。