Skip to content

Instantly share code, notes, and snippets.

@ashitani
Last active January 31, 2016 05:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ashitani/ecc23452ac174fb56320 to your computer and use it in GitHub Desktop.
Save ashitani/ecc23452ac174fb56320 to your computer and use it in GitHub Desktop.
ipywidgetというJupyterでUIを使えるライブラリを使ってみました。
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ipywidgets\n",
"[ipywidgets](https://github.com/ipython/ipywidgets)を使うとJupyter上でインタラクティブにパラメータを変えた結果を表示できます。\n",
"\n",
"- Python 2.7.11 on OSX 10.11.3\n",
"- IPython 4.0.1\n",
"- ipywidgets 4.1.1\n",
"\n",
"で確認しています。Jupyterや周辺モジュールは結構大胆にモジュール構成や記述方法を変えるので、バージョンに注意してください。\n",
"\n",
"まず初期設定。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from ipywidgets import interact\n",
"from matplotlib import pyplot as plt\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"まず関数を定義します。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"t=np.linspace(0,10,1000)\n",
"def f(x=0.0):\n",
" y=np.sin(t*x)\n",
" plt.ylim(-1,1)\n",
" plt.plot(t,y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"interact()で関数と、インタラクティブ引数を指定します。min, max, step で指定します。\n",
"\n",
"デフォルトはスライドバーになります。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n6P8BOHG5bLJFiLkAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10959b290>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"interact(f, x=(0.0,2.0,0.01));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ドロップダウン選択もできます。この例ではテキストを与えています。\n",
"\n",
"戻り値の\"_\"を受け取っているのは、interact()の戻り値をJupyterが表示してしまうのを防ぐためです。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a\n"
]
}
],
"source": [
"def ft(text=\"\"):\n",
" print text\n",
"_=interact(ft,text=[\"a\",\"b\",\"c\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"テキストボックスもできます。一文字変更するたびに関数が呼ばれますので少々うざいです。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a\n"
]
}
],
"source": [
"_=interact(ft,text=\"a\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"スライドバー、ドロップダウン、テキストボックス、以外はipywidgetsクラスにいろいろと定義されています。\n",
"\n",
"以上3つはよく使うので少ないコードで使えるように工夫されているようですね。"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import ipywidgets as widget"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"False\n"
]
}
],
"source": [
"def fc(check=False):\n",
" print check\n",
"_=interact(fc,check=widget.Checkbox())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a\n"
]
}
],
"source": [
"_=interact(ft,text=widget.RadioButtons(options=[\"a\",\"b\",\"c\"]))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a\n"
]
}
],
"source": [
"_=interact(ft,text=widget.ToggleButtons(options=[\"a\",\"b\",\"c\"]))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@ashitani
Copy link
Author

やっぱりウィジェットはnbviewerでも表示できませんね。

そのうち対応されるんでしょうかね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment