Как увеличить ширину ячейки блокнота Jupyter / ipython в моем браузере?


351

Я хотел бы увеличить ширину записной книжки ipython в своем браузере. У меня экран с высоким разрешением, и я хотел бы увеличить ширину / размер ячейки, чтобы использовать это дополнительное пространство.

Спасибо!


редактировать: 5/2017

Теперь я использую jupyterthemes: https://github.com/dunovank/jupyter-themes

и эта команда:

jt -t oceans16 -f roboto -fs 12 -cellw 100%

который устанавливает ширину на 100% с хорошей темой.


1
Попробуйте np.set_printoptions (250)
vgoklani

2
Спасибо! np.set_printoptions(linewidth=110)работает для меня.
Тимо

1
@vgoklani Извините, но np? Откуда это?
Брандт

1
@Brandt import numpy as np
vgoklani

3
@vgoklani +1 для Jupyter Themes
Гуршаран Сингх,

Ответы:


615

Если вы не хотите изменять настройки по умолчанию и хотите изменить только ширину текущей записной книжки, над которой вы работаете, вы можете ввести в ячейку следующее:

from IPython.core.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))

11
Ницца. Похоже, что это только изменяет код / ​​ячейки уценки. Есть ли способ сделать так, чтобы он делал выходные ячейки?
dreyco676

13
Это решение сработало для меня! Мне не нужно было устанавливать какую-либо библиотеку или пакет, чтобы использовать его.
Билл Анкалагон черный

1
Я использую Jupyter для Джулии. Вы знаете, что мне нужно в этом случае?
becko

69
Это изменило мою жизнь
YellowPillow

1
@becko в соответствии с дискурсом Юлии это работает:display("text/html", "<style>.container { width:100% !important; }</style>")
Liso

210

Это div.cellрешение на самом деле не работает на моем IPython, однако, к счастью, кто-то предложил рабочее решение для новых IPython:

Создать файл ~/.ipython/profile_default/static/custom/custom.css(iPython) или ~/.jupyter/custom/custom.css(Jupyter) с контентом

.container { width:100% !important; }

Затем перезапустите записные книжки iPython / Jupyter. Обратите внимание, что это повлияет на все ноутбуки.


5
Эти маленькие фрагменты информации должны быть размещены где-то, спасибо еще раз!
vgoklani

4
Это было чрезвычайно полезно
ivrin

13
Начиная с IPython 4.1, пользовательская папка была изменена на ~/.jupyter/custom/.
Ромен

6
Мне пришлось перезапустить ноутбук Jupyter (4.1.0), чтобы он заработал. Я поместил вышеупомянутый CSS в~/.jupyter/custom/custom.css
Пол

6
100% выглядит не очень хорошо, я изменил его на 90%
Лян

69

Чтобы заставить это работать с jupyter (версия 4.0.6), я создал ~/.jupyter/custom/custom.cssсодержащий:

/* Make the notebook cells take almost all available width */
.container {
    width: 99% !important;
}   

/* Prevent the edit cell highlight box from getting clipped;
 * important so that it also works when cell is in edit mode*/
div.cell.selected {
    border-left-width: 1px !important;
}

Это работает в Linux! Но где мне нужно сохранить его в Windows?
крестоносец

6
Попробуйте запустить jupyter --config-dir, затем создайте custom\custom.cssв любом месте, которое возвращает команда.
jvd10

@ jvd10 это не сработало для меня. Есть ли custom.cssкакой-либо другой код, кроме приведенного выше фрагмента? Кроме того, как Jupyter знает, как его использовать?
mLstudent33

По крайней мере в linux и osx, по умолчанию jupyter ищет скрытый каталог, который требует .jupyterконфигурационных файлов, включая настройки, подобные описанным выше. Выше должно быть только содержимое файла custom.css. Смотрите здесь для получения дополнительной информации: jupyter.readthedocs.io/en/latest/projects/…
jvd10

24

Пришло время использовать jupyterlab

Наконец, столь необходимая модернизация пришла на ноутбуки. По умолчанию он использует всю ширину вашего окна, как и любая другая полноценная встроенная IDE.

Все, что вам нужно сделать, это:

pip install jupyterlab
# if you use conda
conda install -c conda-forge jupyterlab
# to run 
jupyter lab    # instead of jupyter notebook

Вот скриншот с блога. Jupyter.org


2
JupyterLab все еще находится в бета-версии и имеет некоторые регрессии от обычных ноутбуков (по дизайну). Следует отметить, что по умолчанию запрещен JS и нужны расширения для каждой маленькой JS-визуализации
Ciprian Tomoiagă

1
И как вы можете изменить ширину ячейки Jupyter Lab?
мультигудверс

1
Я целый час боролся за то, чтобы лаборатория Юпитера работала. сначала не показывалось никакой графики (pyplot / plotly). В документах не упоминается, что вы должны установить расширения для этого. Пытался установить сюжетное расширение. обнаружил, что для этого вам нужны nodejs. установлены оба, теперь я получаю сообщение «Не удается найти шаблон:« index.html »». На данный момент я сдался, я остаюсь с ноутбуком Jupyter.
Итамар Кац

15

Обычно я делаю после новой установки модификацию основного файла CSS, в котором хранятся все визуальные стили. Я использую Miniconda, но местоположение схоже с другимиC:\Miniconda3\Lib\site-packages\notebook\static\style\style.min.css

На некоторых экранах эти разрешения различаются и превышают 1. Чтобы быть в безопасности, я изменяю все на 98%, поэтому, если я отключаюсь от внешних экранов на моем ноутбуке, у меня остается 98% ширина экрана.

Затем просто замените 1140 пикселей на 98% ширины экрана.

@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}

введите описание изображения здесь

После редактирования

@media (min-width: 1200px) {
  .container {
    width: 98%;
  }
}

введите описание изображения здесь Сохраните и перезапустите свой блокнот


Обновить

Недавно пришлось расширить ячейки Jupyter в среде, в которой он установлен, что заставило меня вернуться сюда и напомнить себе.

Если вам нужно сделать это в виртуальной среде, вы установили jupyter. Вы можете найти файл CSS в этом подкаталоге

env/lib/python3.6/site-packages/notebook/static/style/stye.min.css

1
Это круто! Это просто и выполняет именно то, что нужно.
произвольная

@Gunay /notebookне существует в каталоге для меня.
mLstudent33

Знаете ли вы версию вашего python (python -V, когда вы активируете свою среду) и как вы создали виртуальную среду? Вы использовали модуль venv на Python / Conda?
Гунай Анач

12

Вы можете установить CSS блокнота, вызывая таблицу стилей из любой ячейки. В качестве примера рассмотрим курс « 12 шагов к Навье-Стоксу» .

В частности, создание файла, содержащего

<style>
    div.cell{
        width:100%;
        margin-left:1%;
        margin-right:auto;
    }
</style>

должен дать вам отправную точку. Тем не менее, может быть необходимо также настроить, например,div.text_cell_render чтобы иметь дело с уценкой, а также с ячейками кода.

Если этот файл, custom.cssто добавьте ячейку, содержащую:

from IPython.core.display import HTML
def css_styling():
    styles = open("custom.css", "r").read()
    return HTML(styles)
css_styling()

Это позволит применить все стили и, в частности, изменить ширину ячейки.


Это не работает в последнем IPython (версия> 2). Проверьте этот ответ: stackoverflow.com/a/24207353/2108548
rominf

Или, если вы просто хотите изменить его для текущей записной книжки в последних ipython и jupyter, см. Ответ @ jjinking :)
nealmcb

8

(По состоянию на 2018 год я бы посоветовал попробовать JupyterHub / JupyterLab. Он использует всю ширину монитора. Если это не вариант, возможно, поскольку вы используете одного из облачных провайдеров Jupyter-as-a-service, Продолжай читать)

(Стильный обвиняется в краже пользовательских данных, вместо этого я перешел к использованию плагина Stylus)

Я рекомендую использовать стильный плагин для браузера . Таким образом, вы можете переопределить css для всех записных книжек, не добавляя код в записные книжки. Нам не нравится изменять конфигурацию в .ipython / profile_default, так как мы используем общий сервер Jupyter для всей команды, а ширина является предпочтением пользователя.

Я специально разработал стиль для вертикально ориентированных экранов с высоким разрешением, который расширяет ячейки и добавляет немного пустого пространства внизу, чтобы вы могли расположить последнюю ячейку в центре экрана. https://userstyles.org/styles/131230/jupyter-wide Вы можете, конечно, изменить мой CSS по своему вкусу, если у вас другой макет, или вы не хотите, чтобы в конце было больше свободного места.

И последнее, но не менее важное: Stylish - это отличный инструмент в вашем наборе инструментов, поскольку вы можете легко настроить другие сайты / инструменты по своему вкусу (например, Jira, Podio, Slack и т. Д.)

@media (min-width: 1140px) {
  .container {
    width: 1130px;
  }
}

.end_space {
  height: 800px;
}

да, стильно это здорово! Можете ли вы добавить код, необходимый для дополнительного места внизу? У меня всегда есть пустая ячейка с множеством пустых строк, чтобы настоящая последняя ячейка была в центре -_-.
Ciprian Tomoiagă

2
Стильный был снят вчера за кражу истории просмотров пользователей: gadgets.ndtv.com/internet/news/…
stason

6

Для пользователей Chrome я рекомендую Stylebot , который позволит вам переопределить любой CSS на любой странице, а также позволит вам искать и устанавливать другие общие CSS. Однако для нашей цели нам не нужна какая-либо предварительная тема. Откройте Stylebot, измените на Edit CSS. Jupyter фиксирует некоторые нажатия клавиш, поэтому вы не сможете набрать приведенный ниже код. Просто скопируйте и вставьте, или просто ваш редактор:

#notebook-container.container {
    width: 90%;
}

Измените ширину, как вам нравится, я считаю, что 90% выглядит лучше, чем 100%. Но это полностью зависит от ваших глаз.


Потрясающее предложение для ноутбука Jupyter, но делает намного больше!
Робино

@bizi, я могу щелкнуть внутри ячейки кода, а затем щелкнуть правой кнопкой мыши, выбрать Stylebot, отредактировать CSS, скопировать и вставить то, что у тебя есть? Если так, это не сработало для меня. Я только получил более толстые поля с обеих сторон.
mLstudent33

4

Это код, который я в конечном итоге использовал. Он растягивает входные и выходные ячейки влево и вправо. Обратите внимание, что индикация номера входа / выхода исчезнет:

from IPython.core.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))
display(HTML("<style>.output_result { max-width:100% !important; }</style>"))
display(HTML("<style>.prompt { display:none !important; }</style>"))

прохладный! Я бы исключил только последнюю строку, так как она убирает информацию о выполнении ячеек (левая часть ячеек, которая показывает порядок исключений и *, когда выполнение еще не закончено)
onofricamila

2

Я сделал некоторые изменения в решении @ jvd10. «Важно» кажется слишком сильным, чтобы контейнер плохо адаптировался при отображении боковой панели TOC. Я удалил его и добавил min-width, чтобы ограничить минимальную ширину.

Вот мой .juyputer / custom / custom.css:

/* Make the notebook cells take almost all available width and limit minimal width to 1110px */
.container {
    width: 99%;
    min-width: 1110px;
}   

/* Prevent the edit cell highlight box from getting clipped;
 * important so that it also works when cell is in edit mode*/
div.cell.selected {
    border-left-width: 1px;
}

0

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

from IPython.display import HTML    
HTML (pd.to_html())

-1

Для пользователей Firefox / Chrome хороший способ достичь 100% ширины - использовать собственный скрипт TamperMonkey .

Преимущества

  1. настроить это один раз в вашем браузере, нет необходимости изменять конфигурацию сервера.
  2. работает с несколькими серверами Jupyter.
  3. TamperMonkey пользуется доверием, поддержкой и стабильностью.
  4. Многие дополнительные настройки возможны через JavaScript.

Этот скрипт работает для меня https://gist.githubusercontent.com/mrk-andreev/2a9c2538fad0b687c27e192d5948834f/raw/6aa1148573dc20a22fca126e56e3b03f4abf281b/jpn_tmonkey.js

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.