指定范围内的刻度数

时间:2018-08-27 10:18:25

标签: python-3.x matplotlib data-visualization

我已经编写了用于自定义我的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个中间条目。 enter image description here

enter image description here

0 个答案:

没有答案