2013-09-10 12 views
20

Как предотвратить отображение определенного графика в ноутбуке Jupyter? У меня есть несколько графиков в записной книжке, но я хочу, чтобы их часть сохранялась в файле и не отображалась на ноутбуке, так как это значительно замедляется.предотвращает отображение графика в jupyter notebook

Минимальный рабочий пример для ноутбука Jupyter является:

%matplotlib inline 
from numpy.random import randn 
from matplotlib.pyplot import plot, figure 
a=randn(3) 
b=randn(3) 
for i in range(10): 
    fig=figure() 
    plot(b) 
    fname='s%03d.png'%i 
    fig.savefig(fname) 
    if(i%5==0): 
     figure() 
     plot(a) 

Как вы можете видеть, у меня есть два типа участков, а и б. Я хочу, чтобы их отображали и показывали, и я не хочу, чтобы отображались b-графики, я просто хочу, чтобы они были сохранены в файле. Надеюсь, это немного ускорит ситуацию и не загрязнит мой ноутбук цифрами, которые мне не нужно видеть.

Спасибо за ваше время

+0

возможно дубликат [Участок в IPython ноутбук фигура инлайн с fig.show()?] (Http://stackoverflow.com/ вопросы/15480379/plot-an-ipython-notebook-figure-inline-with-fig-show) – hooy

+0

честно говоря, я не понял ответы на этот вопрос – gota

ответ

22

Возможно, просто снимите ось, например:

fig= plt.figure() 
plt.plot(range(10)) 
fig.savefig("save_file_name.pdf") 
plt.close() 

не будет строить выход в режиме inline. Однако я не могу разобраться, действительно ли очищает данные.

+0

Он не выводит вывод, а возвращает Как я могу предотвратить это? – gota

+1

Я обновил ответ, используя 'plt.close()' не выводит это. Я думаю, что это какая-то ссылка на фигуру, оставленную, но я не уверен. – Greg

+2

Это тонкий, но изменяющий 'plt.close()' to 'plt.close();' должен делать трюк. Это работало для меня на IPython 2 и matplotlib 1.3.1 –

14

я был в состоянии предотвратить мои цифры от показа, поворачивая интерактивный режим выключения с использованием функции

plt.ioff()

+1

Очень полезно, если вы используете mpld3 (или что-то подобное) для создания интерактивных онлайн-фигур и '% matplotlib notebook' для предварительного просмотра статических цифр. – travc

+1

Это должен быть новый принятый ответ! – Brian

+0

@Brian Почему это должен быть новый принятый ответ? Как этот метод лучше предыдущего? Это более общий? – gota

3

Чтобы предотвратить выход из jupyter ноутбука ячейки вы можете начать ячейка с

%%capture 

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

0

Я новичок, хотя, выключить режим инлайн, когда вы не хотите видеть вывод в тетрадь по:

%matplotlib auto 

или:

%matplotlib 

использовать его обратно подробнее

%matplotlib inline 

лучшим решением было бы использовать:

plt.ioff() 

, в котором говорится, что встроенный режим выключен.

надеюсь, что это поможет.