渲染Flask模板时散景图空

时间:2014-08-12 02:17:18

标签: javascript python bokeh

我正在尝试在一个简单的Flask应用程序服务的网页中嵌入散景图,使用embed.autoload_server函数,我从查看github上的bokeh嵌入示例中获取。所有东西似乎都在python方面按预期工作,但页面渲染时没有任何数据(即使数据在JS绘图对象中)。我确实看到5个散景图操作按钮,但我没有看到实际的情节。打开JS控制台后,我看到i变量在以下语句中返回为undefined(第23512行,bokeh.js):

i = this.get('dimension');

因此,范围[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

1 个答案:

答案 0 :(得分:0)

你可以发布情节代码吗?最近,我们合并了一个新的布局系统,在我看来,你可能正在使用旧方法在你的情节中设置轴......