Python Bokeh TimeSeries工具提示日期显示为:?

Python Bokeh TimeSeries工具提示日期显示为:?,python,pandas,bokeh,Python,Pandas,Bokeh,关于这一点,我已经看了几乎所有其他stackoverflow问题,但我无法在工具提示中显示我的日期: dfx = dfx[['FullDate','DLM','DGO']] dfx['Date'] = pd.to_datetime(dfx['FullDate']) dfx['FullDate'] = dfx['FullDate'].astype(str) p = TimeSeries(dfx, x='Date', tools='hover',plot_width=900, plot_heigh

关于这一点,我已经看了几乎所有其他stackoverflow问题,但我无法在工具提示中显示我的日期:

dfx = dfx[['FullDate','DLM','DGO']]
dfx['Date'] = pd.to_datetime(dfx['FullDate'])
dfx['FullDate'] = dfx['FullDate'].astype(str)

p = TimeSeries(dfx, x='Date', tools='hover',plot_width=900, plot_height=350, xlabel='Date'
               ,ylabel='Cumulative Returns',source=ColumnDataSource(dfx))

hover = p.select(dict(type=HoverTool))
hover.tooltips = [("Date", "@FullDate"),("Value", "$y{1.111}")]

show(p)
产生以下结果:

我可以展示我所做的代码的所有变体,但它们都产生相同的结果

我的
dfx['FullDate']
列都是字符串。我觉得我错过了一些明显的东西


谢谢

首先,请尝试安装最新版本的Bokeh,看看这是否能解决问题

conda安装-c bokeh bokeh

尝试将Datatime对象格式化为字符串,并使用


你在用什么版本的博克?您还检查了浏览器控制台中发生的情况吗?JavaScript错误通常记录在那里。我的猜测是,您的字符串的编码方式可能使Bokeh不知道如何处理它们。使用
Bokeh==0.12.5
,我不完全确定如何检查我的浏览器控制台,但我会说,当我没有在x轴上绘制datetime对象时,标签会以某种方式工作,而是使用字符串。在这种情况下,
hover.tooltips=[(“Date”,“$x”),(“Return”,“$y{1.111}”)]
得到我想要的,但它将日期字符串聚集在x轴上,因此不是真正的解决方案。当我使用上面的datetime x轴时,我得到的是我假设的纪元时间,也没有用(虽然比
)你应该更新到最新版本的bokeh(12.6)
conda install-c bokeh bokeh
,我想他们可能已经修复了这个bug。尝试过了,但由于某种原因它不起作用
FullDate
包含以下格式的字符串:
“2017-08-07”
,您可能会认为这是bokeh的标准选择…自从您更新了bokeh之后,您是否已清除浏览器缓存并重新加载页面?刚刚更新并重新启动jupyter/cleared cache…奇怪的是,仍然存在相同的问题。我也试过
hover.tooltips=[(“日期”,“日期”),(“值”,“y{1.111}”)]
,但这也让我
,只有当我做
hover.tooltips=[(“日期”,“x”),(“值”,“y{1.111}])时,我才能看到一些东西。我是否设置了错误的源代码?它似乎能够拾取工具提示的轴值,但无法拾取源数据帧值SODD,仍然无法工作。我可能会放弃这个,这对我来说毫无意义,为什么它不起作用。
dfx = dfx[['FullDate','DLM','DGO']]
dfx['Date'] = pd.to_datetime(dfx['FullDate'])

p = TimeSeries(dfx, x='Date', tools='hover',plot_width=900, plot_height=350, xlabel='Date'
               ,ylabel='Cumulative Returns',source=ColumnDataSource(dfx))

hover = p.select(dict(type=HoverTool))
hover.tooltips = [("Date", "@Date{'%F'}"),("Value", "$y{1.111}")]
hover.formatters = { "Date": "datetime"}

show(p)