Tarayıcımdaki Jupyter / ipython not defterinin hücre genişliğini nasıl artırabilirim?


350

Tarayıcımdaki ipython not defterinin genişliğini artırmak istiyorum. Yüksek çözünürlüklü bir ekranım var ve bu fazladan alanı kullanmak için hücre genişliğini / boyutunu genişletmek istiyorum.

Teşekkürler!


düzenleme: 5/2017

Şimdi jupyterthemes kullanıyorum: https://github.com/dunovank/jupyter-themes

ve bu komut:

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

güzel bir tema ile genişliği% 100 olarak ayarlar.


1
Deneyin np.set_printoptions (250)
vgoklani

2
Teşekkürler! np.set_printoptions(linewidth=110)benim için çalışıyor.
Timo

1
@vgoklani Üzgünüm, ama 'np'? Bu nereden geliyor?
Brandt

1
@Brandt import numpy as np
vgoklani

3
Jupyter Themes
Gursharan Singh

Yanıtlar:


615

Varsayılan ayarlarınızı değiştirmek istemiyorsanız ve yalnızca üzerinde çalışmakta olduğunuz not defterinin genişliğini değiştirmek istiyorsanız, bir hücreye aşağıdakileri girebilirsiniz:

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

11
Güzel. Bu sadece kod / markdown hücrelerini değiştiriyor gibi görünüyor. Çıkış hücrelerini de yapmanın bir yolu var mı?
dreyco676

13
Bu çözüm benim için çalıştı! Kullanmak için herhangi bir lib veya paket kurmam gerekmiyordu.
Siyah Bill Ancalagon

1
Julia için Jupyter kullanıyorum. Bu durumda neye ihtiyacım olduğunu biliyor musun?
becko

68
Bu hayatımı değiştirdi
YellowPillow

1
@ julia söylemine göre becko bu işe yarıyor:display("text/html", "<style>.container { width:100% !important; }</style>")
Liso

210

Bu div.cellçözüm aslında IPython'umda işe yaramadı, ancak neyse ki birisi yeni IPythons için çalışan bir çözüm önerdi:

İçeriği olan bir dosya ~/.ipython/profile_default/static/custom/custom.css( ~/.jupyter/custom/custom.cssiPython) veya (Jupyter) oluşturma

.container { width:100% !important; }

Ardından iPython / Jupyter not defterlerini yeniden başlatın. Bunun tüm not defterlerini etkileyeceğini unutmayın.


5
Bu küçük bilgi parçacıkları bir yere gönderilmelidir, tekrar teşekkürler!
vgoklani

4
Bu son derece yararlıydı
ivrin

13
IPython 4.1 özel klasör konumunun başlatılması olarak değiştirildi ~/.jupyter/custom/.
Romain

6
Çalışması için Jupyter notebook'u (4.1.0) yeniden başlatmam gerekiyordu. Yukarıdaki css'i koydum~/.jupyter/custom/custom.css
Paul

6
100% çok hoş değil,% 90 olarak değiştirdim
liang

69

Bunu içeren jupyter (sürüm 4.0.6) ile çalışmak için ~/.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;
}

Bu Linux'ta çalışıyor! Ancak Windows'ta nereye kaydetmem gerekiyor?
crusaderky

6
Çalıştırmayı deneyin jupyter --config-dir, ardından custom\custom.csskomutun döndürdüğü konumda oluşturun .
jvd10

@ jvd10 bu benim için çalışmadı. custom.cssYukarıdaki pasaj dışında başka bir kod var mı ? Ayrıca Jupyter kullanmayı biliyor mu?
mLstudent33

En azından linux ve osx'ta, varsayılan olarak jupyter .jupyter, yukarıdaki gibi özelleştirmeler de dahil olmak üzere yapılandırma dosyaları için çağrılan gizli bir dizini arar . Yukarıdakiler, custom.css dosyasının tek içeriği olmalıdır. Daha fazla bilgi için buraya bakın: jupyter.readthedocs.io/en/latest/projects/…
jvd10

24

Jupyterlab'ı kullanma zamanı

Son olarak, dizüstü bilgisayarlara çok ihtiyaç duyulan bir yükseltme geldi. Varsayılan olarak, diğer tam teşekküllü yerel IDE gibi pencerenizin tam genişliğini kullanır.

Tüm yapman gereken:

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

İşte blog.Jupyter.org bir ekran görüntüsü


2
JupyterLab hala beta sürümündedir ve normal dizüstü bilgisayarlardan (tasarım gereği) bazı gerilemeler vardır. Dikkate değer bir şey, varsayılan olarak
JS'yi

1
Ve bir Jupyter Lab hücresinin genişliğini nasıl değiştirebilirsiniz?
multigoodverse

1
Bir saat boyunca jupyter laboratuvarının çalışmasını sağlamak için mücadele ettim. ilk başta hiçbir grafik (pyplot / plotly) gösterilmiyordu. Dokümanlar bunun için uzantı yüklemeniz gerektiğini belirtmez. Arsa uzantısını yüklemeye çalıştı. Bunun için düğümlere ihtiyacınız olduğunu öğrendim. her ikisi de yüklü, şimdi "Şablon bulunamadı:" index.html "" iletisi alıyorum. Bu noktada vazgeçtim, jupyter defter ile kalıyorum.
Itamar Katz

15

Genellikle yeni kurulumdan sonra yaptığım, tüm görsel stillerin saklandığı ana css dosyasını değiştirmektir. Miniconda kullanıyorum ama konumu diğerlerine benziyorC:\Miniconda3\Lib\site-packages\notebook\static\style\style.min.css

Bazı ekranlarda bu çözünürlükler farklı ve 1'den fazla. Güvenli tarafta olmak için hepsini% 98 olarak değiştiriyorum, bu yüzden dizüstü bilgisayarımdaki harici ekranlarımdan ayrılırsam hala% 98 ekran genişliğim var.

Sonra 1140 piksel yerine ekran genişliğinin % 98'ini koyun .

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

resim açıklamasını buraya girin

Düzenledikten sonra

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

resim açıklamasını buraya girin Dizüstü bilgisayarınızı kaydedin ve yeniden başlatın


Güncelleme

Son zamanlarda, yüklü bir ortamda daha geniş Jupyter hücrelerine sahip olmak zorunda kaldım, bu da buraya geri gelmemi ve kendimi hatırlatmamı sağladı.

Sanal env'de yapmanız gerekiyorsa, jupyter'ı yüklediniz. Css dosyasını bu alt dizinde bulabilirsiniz

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

1
Bu harika! Çok basit ve tam olarak neye ihtiyaç duyduğunu başarıyor.
arbitrarystringofletters

@Gunay /notebookbenim için dizinde mevcut değil.
mLstudent33

Python'unuzun sürümünü (ortamınızı etkinleştirdiğinizde python -V) ve sanal env'yi nasıl oluşturduğunuzu biliyor musunuz? Python / Conda'da venv modülünü kullandınız mı?
Günay Anach

12

Herhangi bir hücreden stil sayfasını çağırarak not defterinin CSS'sini ayarlayabilirsiniz. Örnek olarak, Navier Stokes için 12 Adım kursuna bir göz atın .

Özellikle, aşağıdakileri içeren bir dosya oluşturmak

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

size bir başlangıç ​​noktası vermeli. Bununla birlikte, örneğin div.text_cell_rendermarkdown ve kod hücreleriyle başa çıkmak için de ayarlama yapılması gerekebilir .

Bu dosya varsa aşağıdakileri custom.cssiçeren bir hücre ekleyin:

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

Bu, tüm stilleri uygulayacak ve özellikle hücre genişliğini değiştirecektir.


Bu en son IPython'da çalışmaz (sürüm> 2). Bu yanıtı kontrol edin: stackoverflow.com/a/24207353/2108548
rominf

Ya da sadece son ipythons ve jupyter'da mevcut not defteri için değiştirmek istiyorsanız, @ jjinking'in cevabına bakınız :)
nealmcb

8

(2018 itibariyle, JupyterHub / JupyterLab'ı denemenizi tavsiye ederim. Monitörün tüm genişliğini kullanır. Bu bir seçenek değilse, belki de bulut tabanlı bir hizmet olarak Jupyter sağlayıcılarından birini kullandığınız için, Okumaya devam et)

(Şık kullanıcı verilerini çalmakla suçlanıyor, bunun yerine Stylus eklentisini kullanmaya başladım)

Şık Tarayıcı Eklentisi kullanmanızı öneririm . Bu şekilde, not defterlerine kod eklemeden tüm not defterleri için css'yi geçersiz kılabilirsiniz. Tüm ekip için paylaşılan bir Jupyter sunucusu çalıştırdığımızdan ve genişlik bir kullanıcı tercihi olduğundan .ipython / profile_default içindeki yapılandırmayı değiştirmek istemiyoruz.

Özellikle dikey olarak yönlendirilmiş yüksek çözünürlüklü ekranlar için bir stil yaptım, bu da hücreleri daha geniş yapar ve tabana biraz boş alan ekler, böylece son hücreyi ekranın ortasına yerleştirebilirsiniz. https://userstyles.org/styles/131230/jupyter-wide Farklı bir düzeniniz varsa veya sonunda fazladan boşluk istemiyorsanız elbette css'imi beğeninize göre değiştirebilirsiniz.

Son fakat en az değil, Şık araç setinizde olması için harika bir araçtır, çünkü diğer siteleri / araçları istediğiniz gibi kolayca özelleştirebilirsiniz (örn. Jira, Podio, Slack, vb.)

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

.end_space {
  height: 800px;
}

evet, Şık harika! Lütfen alttaki ekstra alan için gerekli kodu ekleyebilir misiniz? Gerçek son hücre -_- ortalamak için her zaman çok sayıda boş satır içeren boş bir hücre var.
Ciprian Tomoiagă

2
Şık, kullanıcıların tarama geçmişini çalmak için dün indirildi: gadgets.ndtv.com/internet/news/…
stason

6

Chrome kullanıcıları için, herhangi bir sayfadaki herhangi bir CSS'yi geçersiz kılmanıza ve diğer paylaşım özel CSS'lerini aramanıza ve yüklemenize olanak tanıyan Stylebot'u öneriyorum . Ancak, amacımız için herhangi bir ileri temaya ihtiyacımız yok. Stylebot'u açın, olarak değiştirin Edit CSS. Jupyter bazı tuş vuruşlarını yakalar, böylece aşağıdaki kodu yazamazsınız. Sadece kopyalayıp yapıştırın veya sadece düzenleyiciniz:

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

Genişliği istediğiniz gibi değiştirin,% 90% 100'den daha güzel görünüyor. Ama tamamen gözünüze bağlı.


Jupyter notebook için harika bir öneri ama çok daha fazlasını yapıyor!
Robino

@bizi, bir kod hücresinin içini tıklatıp sağ tıklatıp Stylebot'u seçiyor, CSS'yi düzenliyor ve sahip olduklarınızı kopyalayıp yapıştırıyor muyum? Eğer öyleyse, benim için işe yaramadı. Her iki tarafta da daha şişman marjlar var.
mLstudent33

4

Ben kullanarak sona kod budur. Giriş ve çıkış hücrelerini sağa ve sola doğru uzatır. Giriş / çıkış numarası gösteriminin kaybolacağını unutmayın:

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>"))

güzel! Hücrelerin yürütme bilgilerinin kaybolmasını sağladığından yalnızca son satırı hariç tutacağım (hücre ayrıldı, dışlama sırasını ve yürütme henüz tamamlanmadığında bir * gösteriyor)
onofricamila

2

@ Jvd10'un çözümünde bazı değişiklikler yaptım. '! İmportant', TOC kenar çubuğu görüntülendiğinde kabın iyi uyum sağlayamayacağı kadar güçlü görünüyor. Kaldırdım ve minimum genişliği sınırlamak için 'min-width' ekledim.

İşte benim .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

Her şeyi denedim ve hiçbir şey benim için işe yaramadı, veri çerçevemi aşağıdaki gibi HTML olarak göstermeyi kullandım

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

-1

Firefox / Chrome kullanıcıları için,% 100 genişlik elde etmenin güzel bir yolu özel bir TamperMonkey komut dosyası kullanmaktır.

Avantajları

  1. bunu tarayıcınızda bir kez yapılandırın, sunucu yapılandırmasını değiştirmenize gerek yok.
  2. birden fazla jupyter sunucusuyla çalışır.
  3. TamperMonkey güvenilir, bakımlı ve kararlıdır.
  4. Javascript ile birçok ek özelleştirme mümkündür.

Bu komut dosyası benim için çalışıyor https://gist.githubusercontent.com/mrk-andreev/2a9c2538fad0b687c27e192d5948834f/raw/6aa1148573dc20a22fca126e56e3b03f4abf281b/jpn_tmonkey.js

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.