相关疑难解决方法(0)

在Bokeh中,如何将工具提示添加到时间序列图表(悬停工具)?

是否可以将工具提示添加到时间序列图表中?

在下面的简化代码示例中,当鼠标悬停在相关行上时,我希望看到单个列名称('a','b'或'c').

相反,一个"???" 显示并且所有三行都得到一个工具提示(而不仅仅是悬停在其上的一个)

在此输入图像描述

根据文档( http://bokeh.pydata.org/en/latest/docs/user_guide/tools.html#hovertool),以"@"开头的字段名称将被解释为数据源上的列.

  1. 如何在工具提示中显示pandas数据框中的"列"?

  2. 或者,如果高级TimeSeries接口不支持此功能,那么使用较低级别接口执行相同操作的任何线索?(line?multi_line?)或将DataFrame转换为不同的格式(ColumnDataSource?)

  3. 对于奖励积分,如何格式化"$ x"以将日期显示为日期?

提前致谢

    import pandas as pd
    import numpy as np
    from bokeh.charts import TimeSeries
    from bokeh.models import HoverTool
    from bokeh.plotting import show

    toy_df = pd.DataFrame(data=np.random.rand(5,3), columns = ('a', 'b' ,'c'), index = pd.DatetimeIndex(start='01-01-2015',periods=5, freq='d'))   

    p = TimeSeries(toy_df, tools='hover')  

    hover = p.select(dict(type=HoverTool))
    hover.tooltips = [
        ("Series", "@columns"),
        ("Date", "$x"),
        ("Value", "$y"),
        ]

    show(p)
Run Code Online (Sandbox Code Playgroud)

tooltip python-3.x pandas timeserieschart bokeh

30
推荐指数
2
解决办法
2万
查看次数

Bokeh如何为multi_line方法创建的图形添加图例?

我正在尝试将图例添加到图形中,其中包含由multi_line方法创建的两条线.例:

p = figure(plot_width=300, plot_height=300)
p.multi_line(xs=[[4, 2, 5], [1, 3, 4]], ys=[[6, 5, 2], [6, 5, 7]], color=['blue','yellow'], legend="first")
Run Code Online (Sandbox Code Playgroud)

在这种情况下,图例仅适用于第一行.当图例被定义为列表时,会出现错误:

p.multi_line(xs=[[4, 2, 5], [1, 3, 4]], ys=[[6, 5, 2], [6, 5, 7]], color=['blue','yellow'], legend=["first","second"])
Run Code Online (Sandbox Code Playgroud)

可以在很多行中添加图例吗?

bokeh

9
推荐指数
3
解决办法
9651
查看次数

标签 统计

bokeh ×2

pandas ×1

python-3.x ×1

timeserieschart ×1

tooltip ×1