изменить размер окна вывода ноутбука ipython

111

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

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

ном-пн-ир
источник

Ответы:

9

См. Расширение jupyter autoscroll (часть jupyter_contrib_nbextensions) , которое позволяет вам выбирать, когда вывод начинает прокручиваться в раскрывающемся меню (вы можете настроить его так, чтобы он никогда не прокручивался). Однако используемый API официально не поддерживается, поэтому он может сломаться в любой момент.

Мэтт
источник
Спасибо, Мэтт! Как мне его использовать?
nom-mon-ir
1
клонировать репозиторий в нужное место в вашем профиле ipython. (cf readme) скопируйте custom.example.js в custom.js и раскомментируйте в нем require ('custom / autoscroll.js'). Перезапустите IPython.
Мэтт
236

Вы можете переключать окно прокрутки в главном меню записной книжки.

Ячейка -> Текущие выходы -> Переключить прокрутку

Джейкоб Стивенсон
источник
23
Или (Ячейка -> Весь вывод -> Переключить прокрутку)
aquirdturtle,
каким-либо способом сделать это для каждой ячейки? Например, ячейка с большим количеством содержимого json должна прокручиваться, но ячейка с выводом изображения не прокручивается.
коричневый 2179
1
Круто, также, если он прокручивается, просто щелчок в левой части вывода расширит его и сделает его не прокручиваемым. :-)
user1953366
1
Это должен быть принятый ответ. Он намного актуальнее, чем принятый ответ, и работает как шарм.
Шон Маккарти,
45

Приложение № 2: Этот комментарий: https://github.com/ipython/ipython/issues/2172#issuecomment-53708976 указывает, как можно увеличить максимальный размер выходных ячеек. Запустите в записной книжке следующий код:

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;
кефлавич
источник
Кажется, не работает. В консоли я получаю: accessing OutputArea is deprecated. Use require("notebook/js/outputarea").OutputArea. Ввод этого в консоль показывает, что это функция.
broccoli2000
У меня не сработало, возможно, потому, что мои выходные данные генерируются Javascript.
osa
2
не работает. вывод после выполнения ячейки все еще находится в прокручиваемой области. В моем случае блокнот ipython внезапно переключается на прокручиваемые панели для определенных выходов, хотя раньше они были «нормальными». Очень загадочно ...
user989762
22

Я просто поместил курсор в серое поле рядом с выводом и щелкнул, а затем был отображен весь вывод.

Тейлор Сомма
источник
Вау, это было такое простое решение. Зачем были нужны какие-либо другие опубликованные «решения»?
Rafael_Espericueta,
15

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

%%html
<style>
.output_wrapper, .output {
    height:auto !important;
    max-height:1000px;  /* your desired max-height here */
}
.output_scroll {
    box-shadow:none !important;
    webkit-box-shadow:none !important;
}
</style>

Вы по-прежнему будете получать полосы прокрутки, если содержимое превышает максимальную высоту. Однако теневого ящика не будет. Просто увеличьте максимальную высоту еще больше, если совсем не хотите прокрутки.

брокколи 2000
источник
здорово. Этот фрагмент кода сделал свое дело. Странно, это не задокументированная настройка ноутбука ipython / jupyter.
user989762
Я предпочитаю это добавлению расширения. Я также использовал этот метод для форматирования остальной части моего вывода. Спасибо, @ broccoli2000!
hyperGeoMetric 03
Не знал, что вы можете это сделать ... немного хакерский, но, похоже, среда Jupyter в целом тоже. Спасибо!
Иезекииль Виктор
11

Чтобы изменить высоту прокручиваемого вывода, я делаю следующее (вы можете изменить 44em):

from IPython.core.display import display, HTML
display(HTML("<style>div.output_scroll { height: 44em; }</style>"))
aless80
источник
1
Это НАСТОЛЬКО УДИВИТЕЛЬНО и все еще работает с Jupyter 1.0+
rjurney
2

Для plot.ly iplot мне пришлось добавить следующее, чтобы увидеть какие-либо изменения (он изменил весь вывод)

%%html
<style>
.python-iframe > iframe {
  height:1000px !important;
}
</style>
Чирео
источник
0

Я попробовал все варианты, указанные выше, и ни один из них не помог. Вот так я избавился от ячейки прокрутки. Щелкните правой кнопкой мыши ячейку и выберите «отключить прокрутку для выходных данных». Я знаю, что это не изменяет размер ячейки прокрутки, но делает мой код более разборчивым, поскольку ячейки прокрутки очень маленькие (по крайней мере, для меня).

Крис
источник
-1

В JupyterLab вы можете щелкнуть правой кнопкой мыши и выбрать: Создать новое представление для вывода .

баз
источник