У меня есть блокнот ipython / jupyter, который я визуализирую с помощью NBviewer.
Как я могу скрыть весь код из записной книжки, созданной NBviewer, чтобы отображались только выходные данные кода (например, графики и таблицы) и ячейки уценки?
javascript
ipython
ipython-notebook
lucacerone
источник
источник
Ответы:
источник
<form action ... > ... </form>
простой HTML, какThe raw code for this IPython notebook is by default hidden for easier reading.To toggle on/off the raw code, click <a href="javascript:code_toggle()">here</a>.
Теперь это возможно напрямую из nbconvert начиная с версии 5.2.1 : контент можно фильтровать с помощью встроенного в экспортер шаблонов параметров exclude . Например:
исключит ячейки «входного кода», то есть сам код. Подобные вариантыСуществуют для исключения запросов, ячеек уценки или выходов, а также входов и выходов.
(Эти параметры должны работать независимо от формата вывода.)
источник
Я бы использовал
hide_input_all
от nbextensions ( https://github.com/ipython-contrib/IPython-notebook-extensions ). Вот как:Узнайте, где находится ваш каталог IPython:
Загрузите nbextensions и переместите его в каталог IPython.
Отредактируйте файл custom.js где-нибудь в каталоге IPython (мой был в profile_default / static / custom ), чтобы он был похож на файл custom.example.js в каталоге nbextensions .
Добавьте эту строку в custom.js :
В IPython Notebook теперь есть кнопка для переключения ячеек кода независимо от рабочей книги.
источник
Новейшая версия ноутбука IPython больше не позволяет выполнять javascript в ячейках уценки, поэтому добавление новой ячейки уценки со следующим кодом javascript больше не будет работать, чтобы скрыть ячейки кода (см. Эту ссылку )
Измените ~ / .ipython / profile_default / static / custom / custom.js, как показано ниже:
источник
Я написал некоторый код, который выполняет это, и добавляет кнопку для переключения видимости кода.
В ячейку кода в верхней части записной книжки входит следующее:
Вы можете увидеть пример того, как это выглядит в NBviewer здесь .
Обновление: это будет иметь забавное поведение с ячейками Markdown в Jupyter, но оно отлично работает в HTML-версии ноутбука.
источник
'.input_area'
и'.prompt'
используйте,'div.input'
и это работает как шарм! Итак, подведем итог, заменитьjQuery("div.input").toggle();
на местоjQuery('.input_area').toggle(); jQuery('.prompt').toggle();
. @ Макс Масник, не могли бы вы исправить свой ответ?CSS = """#notebook div.output_subarea { max-width:100%;"""
HTML('<style>{}</style>'.format(CSS))
, Это очень полезно для печати.Это можно сделать, используя
ToggleButton
виджет IPython и немного JavaScript. Следующий код должен быть помещен в ячейку кода в верхней части документа:Это создаст следующую кнопку, чтобы переключить показ / скрытие кода для Jupyter Notebook, по умолчанию в состоянии «скрыть»:
Когда вы установите состояние «show», вы сможете увидеть код для Jupyter Notebook:
Кроме того, хотя большая часть этого кода должна быть размещена в начале Блокнота, расположение кнопки переключения не является обязательным. Лично я предпочитаю держать это в нижней части документа. Для этого просто переместите
display(button)
строку в отдельную ячейку кода внизу страницы:источник
Существует хорошее решение , предоставляемое здесь , что хорошо работает для ноутбуков на экспорт в HTML. Веб-сайт даже ссылается сюда на этот пост, но я не вижу решения Криса здесь! (Крис, где ты?)
Это в основном то же решение, что и принятый ответ от harshil, но оно имеет преимущество в том, что скрывает сам код переключения в экспортированном HTML. Мне также нравится, что этот подход устраняет необходимость в HTML-функции IPython.
Чтобы реализовать это решение, добавьте следующий код в ячейку «Raw NBConvert» в верхней части вашего ноутбука:
Затем просто экспортируйте блокнот в HTML. В верхней части записной книжки будет кнопка для отображения или скрытия кода.
Крис также приводит пример здесь .
Я могу убедиться, что это работает в Jupyter 5.0.0
Обновление : также удобно показывать / скрывать
div.prompt
элементы вместе сdiv.input
элементами. Это снимаетIn [##]:
иOut: [##]
текст и снижает рентабельность на левой стороне .источник
$('div.output').next().hide('500');
скрыть следующий вывод? Я попробовал себя, но не могу заставить это работать.Для лучшего отображения с напечатанным документом или отчетом нам также необходимо удалить кнопку и возможность показать или скрыть определенные блоки кода. Вот что я использую (просто скопируйте и вставьте это в свою первую ячейку):
Тогда в ваших следующих клетках:
и
источник
Это отобразит вывод записной книжки IPython. Тем не менее, вы заметите, сможете просматривать входной код. Вы можете скопировать записную книжку, а затем добавить этот код, если необходимо, чтобы поделиться с кем-то, кому не нужно просматривать код.
источник
from IPython.display import HTML HTML('''<script> $('div.input').show()''')
Преобразуйте ячейку в Markdown и используйте
<details>
тег HTML5, как в примереjoyrexus
:https://gist.github.com/joyrexus/16041f2426450e73f5df9391f7f7ae5f
источник
Вот еще одно решение, предложенное p3trus :
Как описано в p3trus : «[Он] добавляет кнопку на панель инструментов ноутбука ipython, чтобы скрыть / показать ячейку входного кода. Чтобы использовать ее, вы должны поместить файл custom.js в свою
.ipython_<profile name>/static/custom/
папку, где используется профиль ipython. "Мои собственные комментарии: я проверил это решение, и оно работает с iPython 3.1.0.
источник
Принятое решение также работает в Юлии Юпитер / IJulia со следующими модификациями:
обратите внимание, в частности:
display
функцию$
знак (иначе рассматривается как переменная)источник
Вот хорошая статья (написанная @Ken) о том, как полировать блокноты Jpuyter (новый IPython) для презентации. Существует множество способов расширить Jupyter с помощью JS, HTML и CSS, включая возможность взаимодействия с ядром python ноутбука из javascript. Существуют магические декораторы для,
%%HTML
и%%javascript
вы можете просто сделать что-то подобное в ячейке:Я также могу поручиться работе Криса в Jupyter 4.XX
источник
Очень простое решение с помощью консоли браузера. Вы копируете это в консоль браузера и нажимаете ввод:
Затем вы переключаете код ячейки, просто нажав на номер ячейки ввода.
источник
(Бумага) Печать или сохранение в формате HTML
Для тех из вас, кто хочет распечатать на бумаге результаты, одни только вышеупомянутые ответы, кажется, не дают хорошего окончательного результата. Однако, взяв код @Max Masnick и добавив следующее, можно напечатать его на полной странице формата A4.
Причиной отступа является то, что раздел подсказок, удаленный Максом Масником, означает, что на выходе все сдвигается влево. Это, однако, ничего не сделало для максимальной ширины вывода, которая была ограничена
max-width:100%-14ex;
. Это изменяет максимальную ширину output_subarea наmax-width:100%;
.источник
Со всеми вышеупомянутыми решениями, даже если вы скрываете код, вы все равно получите
[<matplotlib.lines.Line2D at 0x128514278>]
дерьмо над своей фигурой, которое вы, вероятно, не хотите.Если вы действительно хотите избавиться от входа , а не просто скрываю это, я думаю , что самое чистое решение , чтобы сохранить цифры на диск в скрытых ячейках, а затем просто включая изображение в клетках Markdown , используя , например
![Caption](figure1.png)
.источник
_ = plt.plot()
чтобы это не печатать[<>]
дерьмоисточник
источник