wake-up-neo.net

Deaktivieren Sie das Autoscrolling von iPython Notebook

Ist es in iPython Notebook möglich, das automatische Scrollen langer Ausgaben zu deaktivieren? Oder zumindest einen Schwellenwert für die Ausgabelänge einstellen, bevor das automatische Scrollen aktiviert wird?

Versuchte den folgenden Befehl 

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

aber es gibt einen fehler

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

Um den automatischen Bildlauf zu deaktivieren, führen Sie dieses Javascript in einer Notizbuchzelle aus, bevor andere Zellen ausgeführt werden:

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

Es gibt auch eine ipython Notebook-Erweiterung, disable_autoscroll , die Sie für eine dauerhaftere Änderung verwenden können. Folgen Sie der ipython-Ausgabe # 2172 für die neuesten Details.

35
mtd

Kann auch über die Benutzeroberfläche erfolgen.

  • Einzelne Zellen: Cell-> Current Outputs-> Toggle Scrolling
  • Alle Zellen: Zelle-> Alle Ausgaben-> Bildlauf umschalten

 enter image description here

3
ayorgo

Auf ähnliche Weise, wie Sie eine Zelle in Autorun hacken können, können Sie die folgende Zelle hinzufügen:

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

dadurch wird auto_scroll_threshold auf -1 gesetzt, was niemals einen automatischen Bildlauf bedeutet.

Dies funktioniert auf meinen vertrauenswürdigen Notebooks (z. B. jupyter trust notebook.ipynb), nicht sicher, ob any -Zellen in nicht vertrauenswürdigen Notebooks ausgeführt werden.

1
streetster

Führen Sie den folgenden Code aus, um nach dem Befehl run all den Bildlauf nach unten zu deaktivieren:

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