散景:在情节下方添加信息网格

时间:2018-09-16 07:06:39

标签: python python-3.x pandas data-visualization bokeh

下面是我目前正在研究的情节。它描述了某种产品在仓库中的移动。

movements chart

在该图中,我还有一本字典,其中包含有关产品的大量信息(单位成本,交货时间,库存水平等)。我想知道是否有办法在图表下方像网格一样绘制此信息。所需的输出将类似于:

desired output

我已经搜索过类似的内容,但是发现的唯一或多或少相关的是bokeh to plot a table as a widget的可能性。但是输出却完全不同:

table widget sample

如果有人使用或不使用bokeh库来回答问题,我感谢您的帮助:)

我的实际代码是:

p = figure(plot_width=640, plot_height=360, x_axis_type="datetime")
source = ColumnDataSource(df)

p.vbar(x='DT', top='STOCK', width=pd.Timedelta(days=1), source=source, fill_alpha=0.4, color='paleturquoise')
p.vbar(x='DT', top='SOMA_ENTRA', width=pd.Timedelta(days=1), source=source, fill_alpha=0.8, color='seagreen')
p.vbar(x='DT', top='SOMA_SAI', width=pd.Timedelta(days=1), source=source, fill_alpha=0.8, color='crimson')

hline = Span(location=0, line_alpha=0.4, dimension='width', line_color='gray', line_width=3)
p.renderers.extend([hline])

show(p)

1 个答案:

答案 0 :(得分:2)

我用于类似任务的两种可能的解决方案:

  1. 在您的bokeh布局中添加一个Div widget,并在其中为您的表格插入适当的HTML代码。 (例如,您可以使用pandas style method为表创建HTML代码。)
  2. Customize the bokeh template,并为您的其他/自定义内容传递模板变量。 (Jinja2 variables in bokeh