【问题标题】:X axis doesn't show when plotting dataframe [duplicate]绘制数据框时不显示 X 轴 [重复]
【发布时间】:2019-05-10 08:20:26
【问题描述】:

您好,我有一个数据框,其中日期为索引,共享为列 我想使用日期作为 x 轴来绘制特定的共享。 我要绘制的系列是: df['APPL']=

Date
2018-10-29    24.903347
2018-10-30    25.165384
2018-10-31    25.087744
2018-11-01    24.777180
...
2018-12-06    25.709999

但是当我用df['APPL'].plot(use_index=True) 绘制它时,xasix 没有显示。 然后我试了plt.plot(df.index,df['APPL']),x轴的间距太小了,读不出来。。 例如,如何增加间隔以每 10 天显示一次?

【问题讨论】:

    标签: python matlab dataframe


    【解决方案1】:

    你可以旋转:

    plt.xticks(rotation=90)
    

    演示:

    plt.plot(df.index,df['APPL'])
    plt.xticks(rotation=90)
    

    旋转后,文字会旋转90度。

    如果你愿意的话:

    plt.plot(df.index,df['APPL'])
    plt.xticks(rotation=45)
    

    测试你喜欢的。

    【讨论】:

    • 谢谢,但我希望增加间隔,例如每 10 天显示一次。
    • @Candice 您可以随时设置号码,选择最适合您的号码。
    • 再次嗨..我宁愿增加间隔然后使用旋转。 :) 谢谢
    • 如减少x轴的频率?而不是 2018-10-30 2018-10-31 2018-11-01 .... 我想显示 2018-10-30、2018-11-01、2018-11-11 等
    【解决方案2】:

    找到解决方案,此代码将间隔更改为 3 天。 感谢 @U9-Forward 和 @wwii 指出我的索引不是日期时间格式。

    df.index=pandas.to_datetime(df.index)
    ax = df['APPL'].plot()
    # set monthly locator
    ax.xaxis.set_major_locator(mdates.DayLocator(interval=3))
    # set formatter
    ax.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
    # set font and rotation for date tick labels
    plt.gcf().autofmt_xdate()
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 2015-04-22
      • 2017-07-18
      • 1970-01-01
      相关资源
      最近更新 更多