ridimensionare la finestra di output del notebook ipython


111

Per impostazione predefinita, l'uscita del notebook ipython è limitata a una piccola finestra secondaria in basso. Questo ci obbliga a utilizzare una barra di scorrimento separata fornita con la finestra di output, quando l'output è grande.

Qualche opzione di configurazione per renderlo non limitato nelle dimensioni, invece eseguito più in alto dell'output effettivo? O opzione per ridimensionarlo una volta creato?

Risposte:


9

Vedere l'estensione jupyter autoscroll (parte di jupyter_contrib_nbextensions) , che consente di selezionare quando l'output inizia a scorrere in un menu a discesa (è possibile impostarlo per non scorrere mai). L'API utilizzata non è ufficialmente supportata, quindi potrebbe non funzionare in qualsiasi momento.


Grazie Matt! Come lo uso?
nom-mon-ir

1
clone repo nel posto giusto nel tuo profilo ipython. (cf readme) copia custom.example.js in custom.js e decommenta require ('custom / autoscroll.js') al suo interno. Riavvia IPython.
Matt

236

È possibile attivare o disattivare la finestra di scorrimento nel menu principale del notebook

Cella -> Uscite correnti -> Attiva / disattiva scorrimento


23
Oppure (Cella -> Tutto l'output -> Attiva / disattiva scorrimento)
aquirdturtle

qualche modo per farlo su una base per cella? Ad esempio, una cella con molto contenuto JSON desidera scorrere, ma per una cella con output di immagine non desidera scorrere.
marrone 2179

1
Fantastico, anche se sta scorrendo, basta fare clic sul lato sinistro dell'output per espanderlo e renderlo non scorrevole. :-)
user1953366

1
Questa dovrebbe essere la risposta accettata. È molto più attuale della risposta accettata e funziona a meraviglia.
Sean McCarthy

45

Addendum # 2: questo commento: https://github.com/ipython/ipython/issues/2172#issuecomment-53708976 indica come aumentare la dimensione massima delle celle di output. Eseguire il codice seguente nel notebook:

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

Non sembra funzionare. Nella console ottengo: accessing OutputArea is deprecated. Use require("notebook/js/outputarea").OutputArea. Mettendolo nella console mostra che si tratta di una funzione.
broccoli2000

Non ha funzionato per me, forse perché il mio output è generato da Javascript.
osa

2
non funziona. l'output dopo l'esecuzione di una cella è ancora in un'area scorrevole. Nel mio caso, improvvisamente, ipython notebook passa a riquadri scorrevoli per determinati output, mentre prima erano "normali". Molto enigmatico ...
user989762

22

Ho appena posizionato il cursore nella casella grigia accanto all'output e ho fatto clic, quindi è stato visualizzato tutto l'output.


Wow, questa era una soluzione così semplice. Perché era necessaria una delle altre "soluzioni" pubblicate?
Rafael_Espericueta

15

Questo ha funzionato per me in Chrome. Eseguilo in una cella separata. Scegli l'altezza massima che desideri visualizzare senza scorrere.

%%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>

Continuerai a visualizzare le barre di scorrimento se i contenuti superano l'altezza massima. Tuttavia, non ci sarà una scatola delle ombre. Aumenta ancora di più l'altezza massima se davvero non vuoi affatto scorrere.


grande. Questo pezzo di codice ha funzionato. Strano che non sia un'impostazione documentata di ipython / jupyter notebook.
user989762

Preferisco questo all'aggiunta di un'estensione. Ho anche usato questo metodo per formattare anche il resto del mio output. Grazie, @ broccoli2000!
hyperGeoMetric

Non sapevo che potessi farlo ... un po 'complicato, ma lo è anche l'ambiente Jupyter in generale, a quanto pare. Grazie!
Ezekiel Victor

11

Per ridimensionare l'altezza dell'output scorrevole, faccio quanto segue (puoi cambiare 44em):

from IPython.core.display import display, HTML
display(HTML("<style>div.output_scroll { height: 44em; }</style>"))

1
Questo è COSÌ FANTASTICO e funziona ancora con Jupyter
1.0+

2

Per un iplot plot.ly ho dovuto aggiungere quanto segue per vedere qualsiasi modifica (ha cambiato tutto l'output)

%%html
<style>
.python-iframe > iframe {
  height:1000px !important;
}
</style>

0

Ho provato tutte le opzioni sopra e nessuna di esse ha funzionato. È così che mi sono sbarazzato della cella a scorrimento. Fare clic con il tasto destro sulla cella e fare clic su "disabilita lo scorrimento per gli output" So che questo non ridimensiona la cella di scorrimento, ma rende il mio codice più leggibile poiché le celle di scorrimento sono molto piccole (almeno per me).


-1

In JupyterLab puoi fare clic con il tasto destro e scegliere: Crea nuova vista per l'output .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.