matplotlib - pyplot中的xticks未设置为HH:MM

时间:2018-04-18 08:14:18

标签: python matplotlib png

我正在尝试使用标题,图例等其他要求重现this example。虽然其中一些似乎得到满足,但标签根本没有出现。我需要x轴每隔30分钟显示一次HH:MM标签。你能帮助我实现这个目标吗?

figtemp, ax = plt.subplots(1, 1, figsize=(9.0, 6.0), dpi=720)
    ax.plot(x1, y1, 'b', linewidth=1)
    xlocator = md.MinuteLocator(interval=30)
    xformatter = md.DateFormatter('%H:%M')
    ax.xaxis.set_major_locator(xlocator)
    ax.xaxis.set_major_formatter(xformatter)
    plt.setp(ax.xaxis.get_majorticklabels(), rotation='vertical', fontsize=9)
    #
    plt.grid(True)
    title = '\n'.join(textwrap.wrap(title, 40))
    plt.title(title, fontsize=12)
    plt.tight_layout(pad=8.0)
    #    
    #plt.plot(x1, y1, 'b', linewidth=1)
    #
    plt.xlabel(axesText[0])
    plt.ylabel(axesText[1])
    #
    #
    if aCondition is True:
        ax.plot(x2, y2, 'r', linewidth=1)
    #
    plt.legend(legends, bbox_to_anchor=[0.0, 0.0], loc='center right')
    #
    plt.savefig('sample.png')
    plt.close()

1 个答案:

答案 0 :(得分:0)

x列表已将HH:MM:SS格式的时间戳作为字符串,因为将数据传递给此绘图函数的函数已完成strftime()。我禁止了这种转换,以便绘图函数接收一个Python日期时间对象。

现在,它有效!耶!

请告诉我,如果我应该删除/关闭此问题,这显然不是直接matplotlib相关。