2016-07-15 68 views
1

我试图在博科0.12.0一个圆圈情节在jupyter笔记本这样的:圈情节上不显示

s5 = figure(toolbar_location="above", x_axis_type = 'datetime') 
s5.circle([1467568091,1467568152,1467568213],[1,1,1]) 
s5.xaxis.formatter = DatetimeTickFormatter(formats = dict(
    seconds=["%d %m %Y %H %M %S"], 
    minutes=["%d %m %Y %H %M %S"], 
    hours=["%d %m %Y %H %M %S"], 
    days=["%d %m %Y %H %M %S"], 
    months=["%d %m %Y %H %M %S"], 
    years=["%d %m %Y %H %M %S"], 
    ) 
) 
s5.xaxis.major_label_orientation = np.pi/4 
show(s5) 

但是其不显示任何内容,我得到一个JavaScript错误:

TypeError: j is undefined 
inline_js</Bokeh</<["models/formatters/datetime_tick_formatter"]</o</e.prototype.doFormat() 
main.min.js:60 
inline_js</Bokeh</<["models/axes/axis"]</o</e.prototype._tick_label_extent() 
main.min.js:59 
inline_js</Bokeh</<["models/axes/axis"]</o</e.prototype._get_size() 
main.min.js:59 
inline_js</Bokeh</<["core/layout/side_panel"]</T() 
main.min.js:56 
inline_js</Bokeh</<["models/plots/plot_canvas"]</_</e.prototype.update_constraints() 
main.min.js:66 
inline_js</Bokeh</<["models/plots/plot_canvas"]</_</e.prototype.render() 
main.min.js:66 
inline_js</Bokeh</<["core/util/throttle"]</i/i() 
main.min.js:57 

这是怎么回事?

回答

1

如果您要更换格式字典,你必须照顾,使具有每一个可能分辨率格式的字典。在这种情况下,您已经输入"milliseconds"。下面的代码生成一个情节:

s5 = figure(toolbar_location="above", x_axis_type = 'datetime') 
s5.circle([1467568091,1467568152,1467568213],[1,1,1]) 
s5.xaxis.formatter = DatetimeTickFormatter(formats = dict(
    seconds=["%d %m %Y %H %M %S"], 
    minutes=["%d %m %Y %H %M %S"], 
    hours=["%d %m %Y %H %M %S"], 
    days=["%d %m %Y %H %M %S"], 
    months=["%d %m %Y %H %M %S"], 
    years=["%d %m %Y %H %M %S"], 
    milliseconds=["%d %m %Y %H %M %S"], 
)) 
s5.xaxis.major_label_orientation = np.pi/4 
show(s5) 

另一种选择是不替换原来的.formats字典,而是设置更换任何或所有原有的新的键/值。

这绝对看起来像一个太容易陷阱。如果你想使一个问题/ PR上,做了project GitHub任何或所有的以下内容:

  • 添加文档支持这就很清楚,所有的按键都需要存在,而且亦是那些需要的密钥在

  • 添加验证检查警告,如果所有需要的键不存在

这将帮助所有用户散景,当然可以理解。我们很乐意帮助新的参与者制作PR,但合作的最佳地点可能是public mailing list