web-dev-qa-db-ja.com

Jupyter Notebook:セルの出力を非表示にするコマンド?

私のノートブックには、一時的な計算結果を返すセルがあります。少し長いので、実行後に非表示にし、必要に応じて表示します。

手動で行うには、出力の左側をダブルクリックして非表示にします

enter image description here

ダブルクリック後 enter image description here

しかし、コードでこれを行う方法はありますか?例えば、

セルの最後の行には、%%hide output、および実行が終了すると出力は非表示になります。

さらに、出力HTMLでこの機能を使用できますか?

34
cqcn1991

追加 ;セルの終わりまでに、そのセルの出力を非表示にします。

33
Raniere Silva

新しいバージョン(これを書いている時点では5.0.0)では、 o コマンドモードでは、フォーカスされているセルの出力を非表示にします。出力の前でトリプルクリックしても同じことが起こります。

o は

19
Sundeep

Jupiter Notebookの新しいバージョンでは、目的のセルを選択し、コマンドモードになっていることを確認してからメニューバーを押します Cell > Current Outputs。次に、3つのオプションがあります。

  • トグル(押す O コマンドモードで同じ効果を適用するには)
  • スクロールの切り替え(デフォルトの出力)
  • クリア(すべて一緒に出力をクリアするため)

メニューバーオプションの画像

さらに、現在の出力ではなくすべての出力を選択した場合、ドキュメント内のすべてのセルに同じ効果を適用できます。

9
Kareem Jeiroudi

this に基づいて、数分前に自分でこれを思いついたところです。

%%javascript

$('#maintoolbar-container').children('#toggleButton').remove()

var toggle_button = ("<button id='toggleButton' type='button'>Show Code</button>");
$('#maintoolbar-container').append(toggle_button);

var code_shown = false;

function code_toggle()
{

    if (code_shown)
    {
        console.log("code shown")
        $('div.input').hide('500');
        $('#toggleButton').text('Show Code');
    }
    else
    {
        console.log("code not shown")
        $('div.input').show('500');
        $('#toggleButton').text('Hide Code');
    }

    code_shown = !code_shown;
}

$(document).ready(function()
{
    code_shown=false;
    $('div.input').hide();
});

$('#toggleButton').on('click', code_toggle);

それはグリッチを持っています:そのセル(私が一番上に置いた)を実行するたびに、それはボタンを追加します。だから、それは修正する必要があるものです。 maintoolbar-containerをチェックインして、ボタンが既に存在するかどうかを確認し、追加しないでください。

[〜#〜] edit [〜#〜]

必要なコードを追加しました。

$('#maintoolbar-container').children('#toggleButton').remove()
1
abalter

正確にはあなたが望んでいるものではありませんが、効果はあなたの目的には十分かもしれません:

%% captureマジックを調べます( https://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb )。そのセル出力を変数に割り当てることができます。後でその変数を呼び出すと、出力を確認できます。

0
Jacob