2016-07-15 69 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