{ "metadata": { "language": "Julia", "name": "", "signature": "sha256:39fc7a9b82a114d02df89961646138d56ac52459d778a3e40c4b1fcb47854190" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Interactive Widgets in IJulia" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "IPython 2.0 introduced interactive widgets, which are basically:\n", "\n", "* Javascript widgets (sliders, buttons, etcetera)\n", "* A communications protocol for the widgets to talk to the kernel\n", "* A Python interface to create and manipulate these.\n", "\n", "Thanks to fantastic work by a Google Summer of Code student, [Shashi Gowda](https://github.com/shashi/), the same features are accessible from a Julia interface." ] }, { "cell_type": "code", "collapsed": false, "input": [ "using Interact" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "@manipulate for n in 1:100\n", " rand(n,n)\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Int64}([Input{Int64}] 50,\"n\",50,1:100)" ] }, { "metadata": { "comm_id": "fb55db33-277b-4fa7-85a3-2cbe5c6be37b", "reactive": true }, "output_type": "pyout", "prompt_number": 4, "text": [ "50x50 Array{Float64,2}:\n", " 0.0783651 0.659912 0.493106 \u2026 0.00843273 0.390298 0.371666 \n", " 0.777267 0.693219 0.192893 0.616208 0.578022 0.557077 \n", " 0.943229 0.727943 0.476202 0.729187 0.802135 0.247574 \n", " 0.72757 0.524887 0.353149 0.264238 0.158479 0.636858 \n", " 0.34325 0.138554 0.192981 0.280109 0.227542 0.249223 \n", " 0.938034 0.655234 0.610706 \u2026 0.546524 0.932167 0.965825 \n", " 0.767394 0.578772 0.188317 0.945736 0.546516 0.377502 \n", " 0.763565 0.496797 0.157069 0.399278 0.964966 0.997327 \n", " 0.954463 0.356982 0.822894 0.219752 0.651061 0.494788 \n", " 0.138325 0.944702 0.115443 0.447035 0.576238 0.608754 \n", " 0.53938 0.0787142 0.922149 \u2026 0.792806 0.165075 0.679461 \n", " 0.374026 0.448081 0.856923 0.84534 0.721902 0.0439824\n", " 0.226981 0.869573 0.88941 0.758137 0.423605 0.299644 \n", " \u22ee \u22f1 \n", " 0.743885 0.0999547 0.19466 0.323379 0.630683 0.0714383\n", " 0.827333 0.462604 0.797415 0.737597 0.150168 0.240378 \n", " 0.869538 0.328771 0.677618 \u2026 0.410014 0.418106 0.643248 \n", " 0.752797 0.194726 0.292419 0.928435 0.378404 0.718977 \n", " 0.405323 0.275025 0.440214 0.782656 0.00042197 0.753483 \n", " 0.402975 0.412902 0.660082 0.925285 0.214545 0.946338 \n", " 0.513647 0.218183 0.404153 0.375432 0.434286 0.541837 \n", " 0.314132 0.25124 0.659074 \u2026 0.784845 0.694182 0.205578 \n", " 0.554015 0.229091 0.639937 0.631327 0.325274 0.68994 \n", " 0.132268 0.982651 0.056666 0.56603 0.767409 0.741117 \n", " 0.70252 0.716309 0.174637 0.0962708 0.626505 0.49941 \n", " 0.361128 0.118059 0.171592 0.835711 0.312115 0.109988 " ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "using Color\n", "@manipulate for r in 0:0.1:1, g in 0:0.1:1, b in 0:0.1:1, n in 1:100\n", " linspace(RGB(0,0,0), RGB(r,g,b), n)\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Float64}([Input{Float64}] 0.5,\"r\",0.5,0.0:0.1:1.0)" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Float64}([Input{Float64}] 0.5,\"g\",0.5,0.0:0.1:1.0)" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Float64}([Input{Float64}] 0.5,\"b\",0.5,0.0:0.1:1.0)" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Int64}([Input{Int64}] 50,\"n\",50,1:100)" ] }, { "metadata": { "comm_id": "cfbfcb16-4b25-4c2b-971e-439c9c469404", "reactive": true }, "output_type": "pyout", "prompt_number": 5, "svg": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "" ], "text": [ "50-element Array{RGB{Float64},1}:\n", " RGB{Float64}(0.0,0.0,0.0) \n", " RGB{Float64}(0.010204081632653073,0.010204081632653073,0.010204081632653073)\n", " RGB{Float64}(0.020408163265306145,0.020408163265306145,0.020408163265306145)\n", " RGB{Float64}(0.030612244897959162,0.030612244897959162,0.030612244897959162)\n", " RGB{Float64}(0.040816326530612235,0.040816326530612235,0.040816326530612235)\n", " RGB{Float64}(0.05102040816326531,0.05102040816326531,0.05102040816326531) \n", " RGB{Float64}(0.06122448979591838,0.06122448979591838,0.06122448979591838) \n", " RGB{Float64}(0.07142857142857145,0.07142857142857145,0.07142857142857145) \n", " RGB{Float64}(0.08163265306122447,0.08163265306122447,0.08163265306122447) \n", " RGB{Float64}(0.09183673469387754,0.09183673469387754,0.09183673469387754) \n", " RGB{Float64}(0.10204081632653061,0.10204081632653061,0.10204081632653061) \n", " RGB{Float64}(0.11224489795918369,0.11224489795918369,0.11224489795918369) \n", " RGB{Float64}(0.12244897959183676,0.12244897959183676,0.12244897959183676) \n", " \u22ee \n", " RGB{Float64}(0.3877551020408163,0.3877551020408163,0.3877551020408163) \n", " RGB{Float64}(0.3979591836734694,0.3979591836734694,0.3979591836734694) \n", " RGB{Float64}(0.40816326530612246,0.40816326530612246,0.40816326530612246) \n", " RGB{Float64}(0.41836734693877553,0.41836734693877553,0.41836734693877553) \n", " RGB{Float64}(0.4285714285714286,0.4285714285714286,0.4285714285714286) \n", " RGB{Float64}(0.4387755102040816,0.4387755102040816,0.4387755102040816) \n", " RGB{Float64}(0.4489795918367347,0.4489795918367347,0.4489795918367347) \n", " RGB{Float64}(0.45918367346938777,0.45918367346938777,0.45918367346938777) \n", " RGB{Float64}(0.46938775510204084,0.46938775510204084,0.46938775510204084) \n", " RGB{Float64}(0.47959183673469385,0.47959183673469385,0.47959183673469385) \n", " RGB{Float64}(0.4897959183673469,0.4897959183673469,0.4897959183673469) \n", " RGB{Float64}(0.5,0.5,0.5) " ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "using PyPlot" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "INFO: Loading help data...\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "x = linspace(0,10,1000)\n", "f = figure()\n", "@manipulate for \u03b1 = 1:0.1:4, \u03b2 = 1:0.1:4, leg=\"a funny plot\"\n", " withfig(f) do\n", " plot(x, cos(\u03b1*x + sin(\u03b2*x)))\n", " legend([leg])\n", " end\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Float64}([Input{Float64}] 2.5,\"\u03b1\",2.5,1.0:0.1:4.0)" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Float64}([Input{Float64}] 2.5,\"\u03b2\",2.5,1.0:0.1:4.0)" ] }, { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Textbox{ASCIIString}([Input{ASCIIString}] a funny plot,\"leg\",nothing,\"a funny plot\")" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "Figure(PyObject )" ] }, { "metadata": { "comm_id": "5dbb1301-7dbe-4721-ad44-5fe6ff6a2e1f", "reactive": true }, "output_type": "pyout", "png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAIUCAYAAADrIr80AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XmU3WV9P/D3vbPvW0IykxWyCIgSAknzA4SEUxWhlJ+aUHJYSmoLymlTqpVF5QeIrcqhyI9DQUglEMAUCdBYluIPiwoU0ZAgQgghZCWZfe6dfb/398fDM+u9M3f5fr/P9n6dkzM6meUh87nPvJ/1G4rH43EQERERERkqrLoBRERERETZYKAlIiIiIqMx0BIRERGR0RhoiYiIiMhoDLREREREZDQGWiIiIiIyGgMtERERERmNgZaIiIiIjMZAS0RERERGY6AlIiIiIqP5Hmi7u7txyy234Pzzz0d1dTXC4TAeeeSRlD8/Go3i6quvxsyZM1FaWorzzjsPu3bt8rHFRERERGQS3wNtc3Mzbr/9drz//vtYtmwZACAUCqX0ubFYDBdeeCG2bt2KjRs34o477kBTUxNWr16Nffv2+dlsIiIiIjJErt/foK6uDg0NDTjuuOPw5ptvYsWKFSl/7rZt2/D6669j27Zt+NKXvgQAuOSSS7B06VLccsstePzxx/1qNhEREREZwvcZ2vz8fBx33HEAgHg8ntbnbtu2DbNnzx4JswAwY8YMXHLJJdi+fTsGBwc9bSsRERERmUfrQ2G7du3C8uXLJ71/xYoV6Onpwd69exW0ioiIiIh0onWgra+vR21t7aT3y/cdO3Ys6CYRERERkWZ830Objb6+PhQUFEx6f2FhIQCgt7c34efV19ejvr7e17YRERERUeZqa2sTTlxmQutAW1RUhP7+/knv7+vrG/n7ierr61FXdwYAzt4SERER6aqurg47duzwJNRqHWhra2sTbiuQs691dXVJ/u4YKioew3/910nIz/e7laTaddddh7vvvjvQ71lfD/zv/w189rPAu+8CM2YAmzYF2gRnqfh5q/bGG8C11wKXXQZs3w5ccAFwww2qWxUMF3/eqj3+OHD33cBf/RXwb/8GfPvbwJiz2b7iz9sd7733Hi6//PKk20vTpXWgXbZsGV555RXE4/Fxd9e+8cYbKCkpwdKlS5N+bnv7Sfjww+W47LIgWkoqVVZWJjw86KfvfAcoLgaefBJ44QVg3TogJwc49dRAm+EkFT9v1W67DTjtNODRR4FbbgHuuksMoMrLVbfMfy7+vFWKxUR/dvnlosZaWoBnngFuvx1I8Qr5rPDnTZnS5lBYQ0MD9uzZg6GhoZH3rV27Fo2NjXj66adH3tfS0oInn3wSF110EfLy8pJ+vdNOA/79331tMjkqHgd++lPg0kuBkhIxU1tTAzzxhOqWkY0iEeC558RsWSgEfOUrQHe3GEgRee23vwX27xf1Boh6270beO89te0imk4gM7T33nsvotHoyPaBn//85zh8+DAAYOPGjSgvL8eNN96ILVu24ODBg5g/fz4AEWhXrVqFDRs2YPfu3aipqcF9992HeDyO2267bcrvec45wAMPAD09YiaNyCt79gAHDgAXXyz+f24ucOGFwH/+J/DP/6y2bWSfl14ChodH623BAjFg374d+Iu/UNs2ss8LLwDV1cDZZ4v//6d/CpSWAv/xH8DJJ6ttG9FUAgm0//Iv/4JDhw4BEI+9feaZZ/D0008jFArhyiuvRHl5OUKh0KRH4obDYTz//PP45je/iXvuuQe9vb1YuXIltmzZgiVLlkz5Pc8+G/i//xd47TWxz5HIK7/4BVBQAKxZM/q+L3wB2LIFaGwEZs1S1zayz4svAp/8JDBv3uj7zj8feOghsVoQxDIwueMXvxC/M3NyxP8vLBQTRL/6FfCtbyltGtGUAtlycODAAcRiMcRiMQwPD2N4eHjkf8vZ2M2bN4/7/1JlZSU2bdqE5uZmdHV14b//+79T2l+zcKEYZb72mh//RaST9evXB/r9/ud/gBUrgLGXbMjZDNab/4L+eav22msiUIz1mc+IwdO+fWraFCTXft4q9fQAO3cCq1ePf/+554p+L4iHc/LnTZnSZg+t18Jh4MwzGTBcEGQHGI+LmjrzzPHvnztXDKJefTWwpjjLpV94bW1ii8vEejvzTDEz60L/5tLPW7UdO4ChIeB//a/x7z/rLLFv+513/G8Df96UKWsDLSBm0XbtEiGEyAtNTcDRo8DKlZP/bvly4A9/CL5NZK8dO8TbP/mT8e+vqAAWLQLefjv4NpG9fvc7cebkk58c//5Pf1q8Zf9GXvre97z9elpf25WtT30KaG0FGhoAjx5EQY774x/F2099avLfffrTwL33cl8jeeedd0TAWLRo8t99+tMMtDr74IMP0NnZqboZafnVr4ATTkhcV3PnAv/v/42GW6KplJWVTXvWyesZf+sDLSBCCAMteeGdd8Te2WQBo6VF7G2cPTv4tpF93nlHzJaFE6ylcQClrw8++GDKe9J1d/rpid//05+KP0Sp2Lt3b9JQOzwMHDzo7fezOtCecIKY3fjjH4HPfU51a8gGf/yjuLpGngAeSw6g3n6bgZa88c47wCmnJP47OYDiCpR+5MzsY489hpNOOklxa4iCJZ8ANtUKxYcfen/I0OpAGw6LXwZymZgoW1MFDDmAevttDqAoe7GYeKzypZcm/nv5VLq332ag1dVJJ53Ep14RJfDuu95/TasPhQFi1oyBlrwgA0ai/bMAB1DkrYMHxTVKyQZQCxeKC++5j5aITPPuu94/utuJQLt7t7iKhCgbBw6Iq2uSBQxA1BsDBnlBDowmnjiXwmHxd0FcpURE5KV33018FiUb1gfaE08E+vqAjz5S3RIy3Z494m2ygAEAS5eKvUG8Ko6y9e674nquurrkH7N4sag3IiKT7N4ttul5yfpAK0cA7PQpW/v3i0feThUwFi0COjvFYR2ibOzfDyxZMvUNBosWsW8jIrPEYsDevWLblJesD7Tz54uluf37VbeETPfhh8Dxxye+QkniAIq8sn//9DMYixaJWw66u4NpExFRthoaxMr53Lnefl3rA21+vgi1DBiUrVQChvx7DqAoW6kGWvmxREQmOHBAvJ0zx9uva32gBcQvBXb4lK1UAkZ5OTBjBgdQlJ3BQeDIEbEiMBWuCJBLOjo6sHHjRixcuBC5ubkIh8N4m6dwkwqHw1izZo3qZkwi89hU2/cy4USg5T4zylY8nlqgBVhvlL3Dh8U+s+nqbdYsoKSE9UZuuP7663Hvvffi1FNPxbe//W3ceuutmDVrlupmaS2U5WMEf/WrXyEcDuO2227zqEVihva448RTN71k9YMVpBNOAJ58UnUryGSNjUBvb2rXjHBFgLIl62e6QBsKiY9hoCUXPPvss/jEJz6B7du3q26Kc7INxmMdODD96lMmnJihPeEEIBoF2tpUt4RMlWrAADhDS9nbv188XnnevOk/lvVGrjh27Bhq+Vg8JeIe3kV54ID3V3YBjgRaHpygbMnAkMqoctEi4NgxMaNLlIn9+8Vh1ry86T920SL2baSvhx9+GF/+8pdxwgknoLi4GBUVFTj77LPx+OOPp/w1Vq9ejfDH18vIJfCx+0MffvhhhMNhPPLIIwk/P9Fe0ltvvRXhcBi//vWvsW3bNqxcuRIlJSWoqanB+vXrcezYsaTtGB4exj//8z9jyZIlKCwsxPz583HjjTdicHBw5GMjkQiKi4uxePHipP9dF110EcLhMHbu3Jnyv8HAwAC+853v4Pjjj0dhYSEWL16M7373u+O+93Ta29tx00034ROf+ASKiopQXV2N888/H7/85S/HfdxVV12F8847DwBw2223jfy7h8Nh/OY3v0n5+020f78/M7RObDmQd50dOACccYbSppCh5J6fkpLpP3bBAvH2o4/EPaJE6UpnBmPePFFr8fjUd9YSqXDttdfilFNOwerVq1FbW4uWlhY8//zzuOKKK/D+++/ju9/97rRfY8OGDVizZg1uu+02LFy4EFdddRUAYOGEi0ynWhZP9nf33Xcffv7zn+Piiy/GmjVr8Nvf/hZPPPEE/vCHP+Ctt95Cfn7+pM9Zv349Xn31VVxwwQUoLy/Hc889hzvuuANNTU146KGHAABVVVVYv349Nm/ejJdeegl/+qd/Ou5rHDlyBC+88ALOOOMMLF++fNp/A2ndunXYsWMH1q1bh7y8PPzHf/wHbr31VuzYsQM///nPp/38aDSKs846C++99x5WrlyJL3/5y2hubsbPfvYzfO5zn8P999+Pq6++GgDwxS9+EaFQCI888ghWr16N1atXj3ydBfIXXZoGBkR/xUCboepqsfn46FHVLSFTHTkiZsxSIe/WY6ClTB06NPUT6caaO1fc6djaKm7YIHP19Iw+kTBIJ54IFBf787XfffddHD8hvQwODuILX/gCfvCDH+CrX/0q6qY57v6Xf/mXADASaP/P//k/nrXvxRdfxI4dO/DJMS+4yy67DFu3bsX27duxbt26SZ9z4MAB7N69G5WVlQCA733vezj11FOxZcsWfP/73x85qHbttddi8+bNeOCBByYF2p/85CeIxWK45ppr0mrv+++/j927d6OiomLke69ZswbPPvssHnvsMVx++eVTfv4NN9yA9957D9dccw3uv//+ce8/44wzsHHjRnz+85/HggULcPHFF6OiomIk0Hrx7374sBh8cw9thkIh0enz8beUqY8+Sv0SaPlxR4741x6y29Gjqdeb3GfL/s18e/YAp58e/B8/Q/TEMAsAeXl5uPbaazE0NDRpmTtoGzduHBdmAeBv/uZvAAC///3vE37OD3/4w5Ew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", "prompt_number": 6, "text": [ "Figure(PyObject )" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "using SymPy\n", "x = sym\"x\"\n", "@manipulate for n=0:20\n", " latex(SymPy.diff(sin(x^2), x, n))\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "html": [], "metadata": {}, "output_type": "display_data", "text": [ "Slider{Int64}([Input{Int64}] 10,\"n\",10,0:20)" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "Figure(PyObject )" ] }, { "html": [], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "Latex(\"\",\"\\$\\$32 \\\\left(- 32 x^{10} \\\\sin{\\\\left (x^{2} \\\\right )} + 720 x^{8} \\\\cos{\\\\left (x^{2} \\\\right )} + 5040 x^{6} \\\\sin{\\\\left (x^{2} \\\\right )} - 12600 x^{4} \\\\cos{\\\\left (x^{2} \\\\right )} - 9450 x^{2} \\\\sin{\\\\left (x^{2} \\\\right )} + 945 \\\\cos{\\\\left (x^{2} \\\\right )}\\\\right)\\$\\$\")" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "Warning: imported binding for transpose overwritten in module __anon__\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }