在matplotlib.pyplot for python中编辑X轴

fhg3lkii  于 2023-03-03  发布在  Python
关注(0)|答案(2)|浏览(156)

我似乎不能得到X轴的X标签间隔适当。图片如下。我需要了解如何设置X轴标签距离和X轴的数据是时间序列的小时和分钟。

title = "Energy plots for " + escalators[0].split(".")[0]
label = 'kWh'




xe = plt.figure(figsize=(30, 15))
plt.title(title)
plt.ylabel(label)
plt.plot(date_time, y, 'kp-', markersize=3, linewidth=0.5)

ax = plt.gca()
ax.xaxis.set_major_formatter(mdates.DateFormatter('hh:mm:ss'))
ax.xaxis.set_major_locator(mdates.DayLocator(interval=1))
#ax.xaxis.set_major_locator(mdates.DateLocator(interval=2))
plt.gcf().autofmt_xdate()
plt.xticks(date_time)
plt.rc('xtick', labelsize=12)
plt.subplots_adjust(bottom = 0.1)
falq053o

falq053o1#

您可以尝试使用np.arange设置最小值、最大值和增量
plt.xticks(np.arange(datetime(1985,7,1), datetime(2015,7,1), timedelta(days=1)).astype(datetime))
这将为您提供所需范围和间隔内的x轴。
不要忘记您需要导入from datetime import datetime, timedelta

eivgtgni

eivgtgni2#

谢谢大家的帮助。我已经设法找到了一个有效的代码。

def plot_graph(time,energy,date,img_dir,esc):
    title = "Energy plots for " + esc+ " " + date
    label = 'kWh'

    x = pd.to_datetime(time)

    y = energy


    # plt.close()

    xe = plt.figure(figsize=(24,18))
    plt.title(title)
    plt.ylabel(label)
    plt.plot(x, y, 'kp-')
    
    plt.ylim(0,500)
    #plt.xlim(datetime("00:00:00"),datetime("23:59:59"))
   

    ax=plt.gca()
    ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
    ax.xaxis.set_major_locator(mdates.HourLocator(interval=1))
    plt.gcf().autofmt_xdate()

    plt.savefig(img_dir + date + ' '+ esc +'.png' )
    
    return xe

相关问题