简体   繁体   中英

Disable iPython Notebook Autoscrolling

In iPython Notebook, is it possible to disable the autoscrolling of long outputs? Or at least set a threshold for the output length before autoscrolling sets in?

Tried the following command

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

but it gives an error

Javascript error adding output!
SyntaxError: Unexpected identifier
See your browser Javascript console for more details.

Can also be done via user interface.

  • Individual cells: Cell->Current Outputs->Toggle Scrolling
  • All cells: Cell->All Outputs->Toggle Scrolling

在此处输入图片说明

To disable auto-scrolling, execute this javascript in a notebook cell before other cells are executed:

%%javascript
IPython.OutputArea.prototype._should_scroll = function(lines) {
    return false;
}

There is also an ipython notebook extension, disable_autoscroll , you can use for a more permanent change. Follow ipython issue #2172 for the latest details.

To disable scroll to bottom after run all command, execute this code:

%%javascript
require("notebook/js/notebook").Notebook.prototype.scroll_to_bottom = function () {}

To prevent scrolling within a single cell output, select the cell and press Shift+O while in command state. It will toggle output for that particular cell. If you want all the cells to display long outputs without scrolling, then go to the Cell tab -> All Outputs -> Toggle Scrolling . That's it !!!

In the similar way that you can hack a cell to autorun , you can add the following cell:

%%javascript
require(
        ["notebook/js/outputarea"],
        function (oa) {
            oa.OutputArea.auto_scroll_threshold = -1;
            console.log("Setting auto_scroll_threshold to -1");
        });

which will set the auto_scroll_threshold to -1 which means never autoscroll.

This works on my notebooks that are trusted (eg jupyter trust notebook.ipynb ), not sure if any cells are executed in untrusted notebooks.

This works for me (with no semicolon)

    %%javascript
    IPython.OutputArea.auto_scroll_threshold = 9999

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM