web-dev-qa-db-ja.com

iPythonノートブックの自動スクロールを無効にする

IPython Notebookでは、長い出力の自動スクロールを無効にできますか?または、自動スクロールが設定される前に、少なくとも出力長のしきい値を設定しますか?

次のコマンドを試しました

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

しかし、それはエラーを与えます

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

自動スクロールを無効にするには、他のセルが実行される前にノートブックのセルで次のjavascriptを実行します。

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

Ipythonノートブック拡張機能 disable_autoscroll もあり、より永続的な変更に使用できます。最新の詳細については、 ipython issue#2172 に従ってください。

46
mtd

ユーザーインターフェイスからも実行できます。

  • 個々のセル:Cell-> Current Outputs-> Toggle Scrolling
  • すべてのセル:Cell-> All Outputs-> Toggle Scrolling

enter image description here

19
ayorgo

run allコマンドの後の下部へのスクロールを無効にするには、次のコードを実行します。

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

自動実行するセルをハックする と同様の方法で、次のセルを追加できます。

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

auto_scroll_threshold-1に設定します。これは、自動スクロールしないことを意味します。

これは、信頼されているノートブック(たとえば、jupyter trust notebook.ipynb)で機能しますが、anyセルが信頼されていないノートブックで実行されるかどうかはわかりません。

1
streetster