2020年8月20日木曜日

Jupyter Lab (notebook)での腱鞘炎を防ぐ

はじめに

Jupyter Lab便利なんですが、仕事がら大量のグラフを作って見つめる作業が多いんですね。スクロールのしすぎで僕の右手はもうダメです。特にstanとかを使うと、グラフに加えて時々見る程度の確認のための数字も大量にでてきます。

とりあえず、スクロール量減らしたい!

やったこと

 ということで、画像をサムネ化(マウスオーバーで拡大表示)、一定以上長いテキストにはスクロールバーを出すようにしてみました。図でみると左がbefore,右がafterです。

右側がだいぶ縦幅を減らせています。

 

 画像拡大の使い方は、こんな感じで左側からマウスをいれて、左に抜けるのがお勧めです。特にJupyterLabは水色のバーを推せばそのセルを折りたためるので、作業中に興味のないデータ読み込みや共通関数のセルを閉じとくとさらに楽になれます。


やり方

以下のコードを張ってそのセルを実行するだけです。印刷等のときはこの機能は帰って邪魔なので、if(True)でいつでもoff二出来るようにしています。

コピペはこちらのgist経由が楽かも?

from  IPython.display import HTML,display
if(True):
    display(HTML("""
    <style>
    .jp-RenderedImage Img {
        width: auto;
        height: 100px;
    }
    .jp-RenderedImage {
        width: auto;
        height: 110px;
    }
    .jp-OutputArea Img:hover {
        width: auto;
        height: 80vmin;
        position: fixed;
        top: 10vh;
        z-index:100;
    }
    .jp-RenderedText{
        max-height: 20vh;
    }
    </style>
    """))