【问题标题】:Plotting dates with plot_date用 plot_date 绘制日期
【发布时间】:2015-03-29 04:54:14
【问题描述】:

我有一堆MM / DD / YYYY 形式的日期。我使用解析器将它们变成类似于datetime.datetime(YYYY, MM, DD, 0, 0) 的内容。

我有对应于数组y 中每个日期的数据,并希望将这两个数组相互绘制。使用matplotlib.dates.date2num 我将它们绘制为

x= matplotlib.dates.date2num(dates)

plot_date(dates,y)

当我这样做时,我得到以下情节

我更喜欢看起来像时间序列的东西。

我该如何解决这个问题

【问题讨论】:

    标签: python date datetime matplotlib


    【解决方案1】:

    大概您正在读取的日期和数据没有按时间顺序排列,在这种情况下,您需要在将它们传递给plot_date()之前对它们进行排序:

    s = np.argsort(dates)
    plot_date(dates[s],y[s])
    

    无论您对datetime 实例(您的dates)或其数值等价物(您的x)的列表/数组进行排序,这都应该有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      • 2019-05-18
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      相关资源
      最近更新 更多