美文网首页
matploylib生成以日期为x轴的图片

matploylib生成以日期为x轴的图片

作者: markDownMan | 来源:发表于2018-09-02 22:35 被阅读37次

    1.从np或者list格式,转化成日期类型的数据,

    2.pandas数据的话,可以先转np格式

    暂时没找到直接从dataframe转成日期类型的方法


    plt.figure()

    df= pd_list.loc[:, ['opt1', 'opt2']]

    df= DataFrame(df)

    y= df

    # 生成横纵坐标信息

    dates= pd_list.loc[:, ['date']]

    #np

    np_dates= np.array(dates)

    #列表

    list_dates= np_dates.tolist()

    # 生成横纵坐标信息

    #dates= ['2018-08-31 18:24:32', '2018-08-31 18:26:32', '2018-08-31 18:28:32']

    xs= [datetime.strptime(d[0], '%Y-%m-%d %H:%M:%S') for din np_dates]

    #xs = [d[0] for d in np_dates]#如果只有这个,而没有对字符串进行date格式的转换,生成的图表x轴为空

    print("xs:", xs)

    # 配置横坐标

    plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))

    #以天为时间间隔

    plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=5))

    #plt.xticks(pd.date_range(list_dates[0][0], list_dates[-1][0], freq='1440min'))

    #这里的xs可以是dataframe类型,但是因为日期是字符串,所以不能直接使用,得先进行日期类型转化

    plt.plot(xs, y)

    plt.gcf().autofmt_xdate()  # 自动旋转日期标记

    plt.show()


    相关文章

      网友评论

          本文标题:matploylib生成以日期为x轴的图片

          本文链接:https://www.haomeiwen.com/subject/dzkvwftx.html