无法使用时间戳索引散景折线图的 x 轴

Unable to index x-axis of bokeh line chart with timestamps

我一直在尝试制作散景折线图,但是我 运行 遇到了使用 pandas 数据框中的一列时间戳对 x 轴进行索引的问题。目前我的数据框如下所示:

           TMAX TMIN  TAVG        DAY   NUM
2007-04-30   65   46  55.5 2007-04-30     1
2007-05-01   75   45  60.0 2007-05-01     2
2007-05-02   66   52  59.0 2007-05-02     3
2007-05-03   65   43  54.0 2007-05-03     4
2007-05-04   61   45  53.0 2007-05-04     5
2007-05-05   65   43  54.0 2007-05-05     6
2007-05-06   77   51  64.0 2007-05-06     7
2007-05-07   89   66  77.5 2007-05-07     8
2007-05-08   91   56  73.5 2007-05-08     9
2007-05-09   83   48  65.5 2007-05-09    10
2007-05-10   68   47  57.5 2007-05-10    11
2007-05-11   65   46  55.5 2007-05-11    12
2007-05-12   63   43  53.0 2007-05-12    13
2007-05-13   65   46  55.5 2007-05-13    14
2007-05-14   71   46  58.5 2007-05-14    15
....
[3592 rows x 5 columns]

我想用 "DAY" 列的值索引线图,但是,无论我采用哪种方法,我都会收到错误消息。线图的文档说 "x (str or list(str), optional) – specifies variable(s) to use for x axis"。我的代码如下:

xyvalues = np.array([df['TAVG'], df_reg['ry'], df['DAY']])
regr = Line(data=xyvalues, x='DAY', title="Linear Regression of Data", ylabel="Average Daily Temperature", xlabel="Number of Days")
output_file("regression.html")
show(regr)

这给了我错误 "TypeError: Cannot compare type 'Timestamp' with type 'float64'"。我试过将其转换为浮动,但似乎没有效果。任何帮助将非常感激。 df_reg['ry'] 是来自线性回归数据框的数据。

折线图的文档可以在这里找到:http://docs.bokeh.org/en/latest/docs/reference/charts.html#line

Line 中,您需要将 pandas 数据框传递给 data 参数,以便能够为 x 引用变量 DAY轴刻度线。在这里,我从其他两个创建一个新的 pandas DataFrame

import pandas as pd
df2 = pd.DataFrame(data=dict(TAVG=df['TAVG'], ry=df_reg['ry'], DAY=df['DAY']))
regr = Line(data=df2, x='DAY',
                 title="Linear Regression of Data",
                 ylabel="Average Daily Temperature",
                 xlabel="Number of Days")
output_file("regression.html")
show(regr)