Python 工具提示没有以正确的格式显示日期

Python 工具提示没有以正确的格式显示日期,python,flask,bokeh,Python,Flask,Bokeh,工具提示在折线图中没有以正确的格式显示日期。(下图)。但是,数据在下表中以正确的格式显示 我的代码列在这里。任何人都可以分享一些有用的信息,以便在工具提示中将整数转换为年/月/日。谢谢 汉克 def makeplotTDS(示例tds): 年份=[ri[“收集日期”]适用于样本TDS中的ri] 值=[ri[“TdsValue”]表示样本TDS中的ri] sourcetds=列数据源( 数据=dict( 年=年, 值=值, ) ) 悬停=悬停工具( 工具提示=“” 年份,TDS值 (@年,@值)

工具提示在折线图中没有以正确的格式显示日期。(下图)。但是,数据在下表中以正确的格式显示

我的代码列在这里。任何人都可以分享一些有用的信息,以便在工具提示中将整数转换为年/月/日。谢谢

汉克

def makeplotTDS(示例tds):
年份=[ri[“收集日期”]适用于样本TDS中的ri]
值=[ri[“TdsValue”]表示样本TDS中的ri]
sourcetds=列数据源(
数据=dict(
年=年,
值=值,
)
)
悬停=悬停工具(
工具提示=“”
年份,TDS值
(@年,@值) """
)


您可以在数据源中创建另一个变量,该变量包含字符串格式的日期

from bokeh.plotting import figure,show
from bokeh.models import ColumnDataSource,HoverTool
from time import gmtime,strftime
from calendar import timegm

dates = [(2011,3,15),(2011,8,22),(2012, 7,17),(2012,11,13),(2013, 7,16),
        (2013,11,18),(2014,12, 1),(2015, 6, 8),(2015,12, 7)]
values = [1050,1250,1100,1700,1200,2650,1400,1050,1100]
years = [timegm(x+(0,0,0))*1000 for x in dates]

p = figure(plot_width = 600, plot_height=300, x_axis_type="datetime")
sourcetds = ColumnDataSource(
    data=dict(
        year  = years,
        value = values,
        syear = [strftime("%Y-%m-%d",gmtime(x/1000)) for x in years]
        # syear is the date in string format
    )
)

p.line(x='year', y='value', source = sourcetds)
p.circle(x='year', y='value', source = sourcetds)

hover = HoverTool(
    tooltips="""
         <div style="background: #FFFFFF;">
            <span style="font-size: 20px;">Year, TDS Value</span><br />
            <span style="font-size: 16px; color: black;">(@syear, @value)</span>
        </div>
    """)
p.add_tools(hover)
show(p)
来自bokeh.plotting导入图,显示
从bokeh.models导入ColumnDataSource,HoverTool
从时间导入gmtime,strftime
从日历导入timegm
日期=[(2011,3,15)、(2011,8,22)、(2012,7,17)、(2012,11,13)、(2013,7,16),
(2013,11,18),(2014,12, 1),(2015, 6, 8),(2015,12, 7)]
值=[1050125011001700120026501400010501100]
年份=[timegm(x+(0,0,0))*1000表示x的日期]
p=图形(绘图宽度=600,绘图高度=300,x轴类型=“日期时间”)
sourcetds=列数据源(
数据=dict(
年=年,
值=值,
syear=[strftime(“%Y-%m-%d”,gmtime(x/1000))表示x年]
#syear是字符串格式的日期
)
)
p、 行(x='year',y='value',source=sourcetds)
p、 圆圈(x='year',y='value',source=sourcetds)
悬停=悬停工具(
工具提示=“”
年份,TDS值
(@syear,@value) """) p、 添加工具(悬停) 表演(p)
结果是:

您可以在数据源中创建另一个变量,该变量包含字符串格式的日期

from bokeh.plotting import figure,show
from bokeh.models import ColumnDataSource,HoverTool
from time import gmtime,strftime
from calendar import timegm

dates = [(2011,3,15),(2011,8,22),(2012, 7,17),(2012,11,13),(2013, 7,16),
        (2013,11,18),(2014,12, 1),(2015, 6, 8),(2015,12, 7)]
values = [1050,1250,1100,1700,1200,2650,1400,1050,1100]
years = [timegm(x+(0,0,0))*1000 for x in dates]

p = figure(plot_width = 600, plot_height=300, x_axis_type="datetime")
sourcetds = ColumnDataSource(
    data=dict(
        year  = years,
        value = values,
        syear = [strftime("%Y-%m-%d",gmtime(x/1000)) for x in years]
        # syear is the date in string format
    )
)

p.line(x='year', y='value', source = sourcetds)
p.circle(x='year', y='value', source = sourcetds)

hover = HoverTool(
    tooltips="""
         <div style="background: #FFFFFF;">
            <span style="font-size: 20px;">Year, TDS Value</span><br />
            <span style="font-size: 16px; color: black;">(@syear, @value)</span>
        </div>
    """)
p.add_tools(hover)
show(p)
来自bokeh.plotting导入图,显示
从bokeh.models导入ColumnDataSource,HoverTool
从时间导入gmtime,strftime
从日历导入timegm
日期=[(2011,3,15)、(2011,8,22)、(2012,7,17)、(2012,11,13)、(2013,7,16),
(2013,11,18),(2014,12, 1),(2015, 6, 8),(2015,12, 7)]
值=[1050125011001700120026501400010501100]
年份=[timegm(x+(0,0,0))*1000表示x的日期]
p=图形(绘图宽度=600,绘图高度=300,x轴类型=“日期时间”)
sourcetds=列数据源(
数据=dict(
年=年,
值=值,
syear=[strftime(“%Y-%m-%d”,gmtime(x/1000))表示x年]
#syear是字符串格式的日期
)
)
p、 行(x='year',y='value',source=sourcetds)
p、 圆圈(x='year',y='value',source=sourcetds)
悬停=悬停工具(
工具提示=“”
年份,TDS值
(@syear,@value) """) p、 添加工具(悬停) 表演(p)
结果是: