2017-09-25 66 views
0

是否有可能在Bokeh中創建類似下面的東西,還是需要customJS?看起來像一個相當簡單的請求(至少在其他類似的庫提供的方面),但在文檔中找不到任何東西。散景'單值'部件

Widget

+0

是的,你可以使用散景服務器來創建它。基本上這是一個使用CSS格式化和樣式化的div元素。所有這一切都可能出現在散景中,請參閱https://bokeh.pydata.org/en/latest/docs/user_guide/interaction/widgets.html#div。這是否需要更新?如果是這樣的話,那麼你不需要使用基於python的回調函數或customJS。 – Anthonydouc

+0

是的 - 它需要更新。我應該可以用Python做到這一點,然後我認爲CSS將成爲可以更新數字的模板? –

回答

1

核心散景組件使用是div對象。

template=(""" 
     <div class='content'> 
     <div class='name'> {stock_name} </div> 
     <span class='number'>{price}<small>{price_unit}</small> </span> 
     <span class='percentage' style='color: {colour};'> {percentage}<small>%</small> </span> 
     </div> 
     """) 
# initial text 
text = template.format(stock_name = stock_name, 
        price=price, 
        price_unit='k', 
        percentage=percentage, 
        colour='#97D389') 
div = Div(text=text, height=300) 

然後可以將其添加到文檔並顯示給用戶。

作爲一個完整的例子,我創建了一個示例要點,它定期更新數字 - 請參閱https://gist.github.com/anthonydouc/c8571f0a2f9aa8415bd566e1ac2ba237。有在主旨爲如何構建應用程序的底部的註釋說明 - 做一個名爲「stocktext」文件夾,並構建指示的子文件夾,然後運行'bokeh serve -- show stocktext'

輸出示例: Screenshot from application

很大程度上使用流式示例(https://demo.bokehplots.com/apps/surface3d),讓數字自動更新。

整個內容只包含在一個簡單的html div元素中,散景的用法在這裏解釋:https://bokeh.pydata.org/en/latest/docs/user_guide/interaction/widgets.html#div

最後,要啓用基於python的回調,您需要運行散景服務器 - 有關更多信息,請參閱https://bokeh.pydata.org/en/latest/docs/user_guide/server.html

+0

非常感謝你這麼做 - 你投入那麼多時間真是太好了。我會讓你知道我怎麼樣! –

+0

不是問題,如果一切都解決了,如果它解決了你的問題,接受答案會很棒 – Anthonydouc