2016-06-06 6 views
0

Исходный файл Bokeh продолжает увеличиваться каждый раз, когда я его делаю (из Jupyter Notebook). Как я могу остановить это?Встраиваемые исходные файлы Bokeh

Код:

from bokeh.plotting import figure, show 
from bokeh.embed import components 
from bokeh.io import output_notebook 
output_notebook() 

def my_plot(color): 
    p = figure(plot_width=400, plot_height=400) 
    p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], color=color) 

    script, div = components(p) 
    with open('{}.html'.format(color),'w') as f: 
     f.write(script) 
     f.write(div) 

    show(p)  

my_plot('red') 
my_plot('blue') 
my_plot('green') 
my_plot('cyan') 
my_plot('magenta') 
my_plot('yellow') 

Результаты:

Directory of C:\Users\TomV\Codes\misc 

06/06/2016 15:43 <DIR>   .. 
06/06/2016 15:27 <DIR>   .ipynb_checkpoints 
06/06/2016 15:43 <DIR>   . 
06/06/2016 15:39   17,684 red.html 
06/06/2016 15:40   23,366 blue.html 
06/06/2016 15:40   29,049 green.html 
06/06/2016 15:41   34,731 cyan.html 
06/06/2016 15:41   40,416 magenta.html 
06/06/2016 15:41   46,100 yellow.html 
06/06/2016 15:43   246,485 Bokeh_embed_test.ipynb 
       7 File(s)  437,831 bytes 

Не читайте дальше. Это добавляется только для того, чтобы успокоить бессмысленного робота SO, который хочет, чтобы я добавил детали.

ответ

2

В версии 0.11.1 вам нужно явно вызывать reset_output в некоторых случаях:

from bokeh.io import reset_output 

reset_output() 

Я бы предложил назвав это в верхней части my_plot функции.

+0

Замечательно! Спасибо. Кстати, у меня все еще есть [другой ответ на вопрос Боке] (http://stackoverflow.com/questions/37639353/deselect-bokeh-tools-by-default), если вам интересно. Еще раз спасибо. – bongbang

+0

FYI надеюсь, что эта ситуация может быть улучшена в будущих выпусках, а явный вызов не нужен или не нужен во многих случаях. – bigreddot

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