cambiar el tamaño de la ventana de salida del cuaderno ipython

111

Por defecto, la salida del cuaderno ipython está limitada a una pequeña ventana secundaria en la parte inferior. Esto nos obliga a usar una barra de desplazamiento separada que viene con la ventana de salida, cuando la salida es grande.

¿Alguna opción de configuración para que no tenga un tamaño limitado, sino que funcione tan alto como la salida real? ¿O la opción de cambiar su tamaño una vez que se crea?

nom-mon-ir
fuente

Respuestas:

9

Consulte la extensión de desplazamiento automático de jupyter (parte de jupyter_contrib_nbextensions) , que le permite seleccionar cuándo la salida comienza a desplazarse en un menú desplegable (puede configurarlo para que nunca se desplace). Sin embargo, la API utilizada no es compatible oficialmente, por lo que puede romperse en cualquier momento.

Mate
fuente
¡Gracias Matt! ¿Como lo uso?
nom-mon-ir
1
clone repo en el lugar correcto en su perfil de ipython. (cf readme) copie custom.example.js a custom.js y descomente require ('custom / autoscroll.js') en él. Reinicie IPython.
Matt
236

Puede alternar la ventana de desplazamiento en el menú principal del cuaderno

Celda -> Salidas de corriente -> Alternar desplazamiento

Jacob Stevenson
fuente
23
O (Celda -> Todos los resultados -> Alternar desplazamiento)
aquirdturtle
alguna forma de hacer esto por celda? Por ejemplo, una celda con mucho contenido json quiere desplazarse, pero una celda con salida de imagen no quiere desplazarse.
marrón
1
Genial, también si se está desplazando, con solo hacer clic en el lado izquierdo de la salida se expandirá y no se desplazará. :-)
user1953366
1
Esta debería ser la respuesta aceptada. Es mucho más actual que la respuesta aceptada y funciona de maravilla.
Sean McCarthy
45

Anexo # 2: Este comentario: https://github.com/ipython/ipython/issues/2172#issuecomment-53708976 indica cómo puede aumentar el tamaño máximo de las celdas de salida. Ejecute el siguiente código en el cuaderno:

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;
keflavich
fuente
No parece funcionar. En la consola me sale: accessing OutputArea is deprecated. Use require("notebook/js/outputarea").OutputArea. Poner eso en la consola demuestra que es una función.
brócoli
No funcionó para mí, posiblemente porque mi salida está generada por Javascript.
Osa
2
no funciona. la salida después de ejecutar una celda todavía está en un área desplazable. En mi caso, de repente, ipython notebook cambia a paneles desplazables para ciertas salidas, mientras que antes solían ser "normales". Muy enigmático ...
user989762
22

Simplemente coloqué el cursor en el cuadro gris al lado de la salida, hice clic y luego se mostró toda la salida.

Taylor Somma
fuente
Vaya, esta fue una solución tan simple. ¿Por qué se necesitaba alguna de las otras "soluciones" publicadas?
Rafael_Espericueta
15

Esto funcionó para mí en Chrome. Ejecútelo en una celda separada. Elija la altura máxima que desea mostrar sin desplazarse.

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

Aún obtendrá barras de desplazamiento si el contenido excede la altura máxima. Sin embargo, no habrá una caja de sombra. Simplemente aumente la altura máxima aún más si realmente no quiere desplazarse en absoluto.

brócoli 2000
fuente
Excelente. Esta pieza de código funcionó. Es extraño que esta no sea una configuración documentada de ipython / jupyter notebook.
user989762
Prefiero esto a agregar una extensión. También utilicé este método para formatear el resto de mi salida. ¡Gracias, @ broccoli2000!
hyperGeoMetric
No sabía que podía hacer esto ... un poco hacky, pero también parece que el entorno de Jupyter en general. ¡Gracias!
Ezekiel Victor
11

Para cambiar el tamaño de la altura de la salida desplazable, hago lo siguiente (puede cambiar 44em):

from IPython.core.display import display, HTML
display(HTML("<style>div.output_scroll { height: 44em; }</style>"))
aless80
fuente
1
Esto es TAN INCREÍBLE y todavía funciona con Jupyter 1.0+
rjurney
2

Para un iplot de plot.ly, tuve que agregar lo siguiente para ver cualquier cambio (cambió toda la salida)

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

Probé todas las opciones anteriores y ninguna funcionó. Así es como me deshice de la celda de desplazamiento. Haga clic con el botón derecho en la celda y haga clic en "deshabilitar el desplazamiento de las salidas" . Sé que esto no cambia el tamaño de la celda de desplazamiento, pero hace que mi código sea más legible ya que las celdas de desplazamiento son muy pequeñas (al menos para mí).

Chris
fuente
-1

En JupyterLab , puede hacer clic derecho y elegir: Crear nueva vista para salida .

baz
fuente