2016-06-29 2 views
1


Я следующий код, который работает в jupyter ноутбук с питона 3:Bokeh - Matplotlib - гистограмма - пустой участок

from bokeh import mpl 
from bokeh.plotting import figure, show, output_notebook 
import matplotlib.pyplot as plt 

output_notebook() 

plt.hist([1,2,3,3,3,3,4,5,4]) 

show(mpl.to_bokeh()) 

Строит мне пустой участок с не втягивает в него ,

jupyter console Является ошибкой или я что-то не так?

+0

Есть ли выход в консоль браузера? –

+0

HI! , Я добавил изображение –

+0

Я должен был быть более ясным. Если вы можете поделиться результатами своей консоли браузера (в Chrome это Настройки -> Дополнительные инструменты -> Инструменты разработчика), это было бы полезно при диагностике. –

ответ

1

Кажется, plt.hist ведет себя как plt.plot и plt.show. Если вы звоните plt.show() перед шоу (mpl.to_bokeh()), вы получите тот же результат для примера системы, как вы можете увидеть здесь: enter image description here

Я не уверен, что первопричины этого поведения но обходным путем является просто создание гистограммы с использованием боке. Это не сложно, если вы будете следовать примеру бока: http://bokeh.pydata.org/en/0.11.1/docs/gallery/histogram.html

Для примера в вашем вопросе вы можете сделать следующее:

from bokeh import mpl 
import numpy as np 
from bokeh.plotting import figure, show, output_notebook, vplot 

output_notebook() 
hist, edges = np.histogram([1,2,3,3,3,3,4,5,4]) 

p1 = figure(title="Bokeh Hist",background_fill_color="#E8DDCB") 

p1.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], 
     fill_color="#036564", line_color="#033649") 
show(p1) 

Отдает:

enter image description here

Смежные вопросы