簡體   English   中英

渲染Flask模板時散景圖為空

[英]bokeh plot empty when rendering Flask template

我正在嘗試使用從github上的bokeh嵌入示例中獲取的embed.autoload_server函數,將bokeh圖嵌入一個簡單的Flask應用程序提供的網頁中。 一切似乎都在python方面按預期工作,但是頁面呈現時沒有任何數據(即使數據位於JS plot對象內)。 我確實看到了5個散景圖操作按鈕,但沒有看到實際的圖。 打開JS控制台后,我看到以下語句(第23512行,bokeh.js行)以未定義的形式返回了i變量:

i = this.get('dimension');

結果,ranges [i]也未定義,這是我在控制台中遇到的錯誤。

我可以將瀏覽器導航到實際的圖json,然后在那里看到所有數據,這就是為什么我轉向JS控制台進行故障排除的原因。

任何想法將不勝感激,我的JS目前還很生銹。 python“ plot”對象的屬性和JS“ plot”對象的屬性之間是否存在關系? 似乎這只是我的前端對象缺少“維度”屬性的問題。

為了回答這個問題,下面是代碼,它直接從燭台示例代碼中刪除了,但這是幾周前的一次拉長,所以它可以過時了。 此后,我再次退出,並且沒有重新訪問此代碼,因為創建繪圖數據沒有問題。

def candlestick():
    store = pd.HDFStore('../data/dt_metastock.h5')

    keys = [key for key in store.keys() if 'daily' in key]
    df = store[keys[0]][:800]
    #df['date'] = pd.to_datetime(df['date'])

    mids = (df.open + df.close)/2
    spans = abs(df.close-df.open)

    inc = df.close > df.open
    dec = df.open > df.close
    w = 12*60*60*1000 # half day in ms

    output_server("candlestick")
    figure(tools="pan,wheel_zoom,box_zoom,reset,previewsave",
           plot_width=1000, name="candlestick")

    hold()

    segment(df.idx, df.high, df.idx, df.low, color='black')
    w = .5
    rect(df.idx[inc].values, mids[inc], w, spans[inc], fill_color="#D5E1DD", line_color="black")
    rect(df.idx[dec].values, mids[dec], w, spans[dec], fill_color="#F2583E", line_color="black")

    curplot().title = keys[0]
    xaxis().major_label_orientation = pi/4
    grid().grid_line_alpha=0.3
    tag = embed.autoload_server(curplot(), cursession())
    return tag

您可以發布地塊代碼嗎? 最近,我們合並了一個新的布局系統,在我看來,您可能正在使用舊的方法來設置繪圖中的軸...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM