{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interactive ellipses\n", "\n", "We want to make some ellipses!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we need `matplotlib` for plotting." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Old style widgets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note:** IPython's built-in widgets only work in a 'live' notebook, not on **nbviewer.org**.\n", "\n", "So we're going to want `widgets`. We need `patches` for easy ways to make shapes. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":0: FutureWarning: IPython widgets are experimental and may change in the future.\n" ] } ], "source": [ "from IPython.html import widgets\n", "from matplotlib.patches import Ellipse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we define a function for the plotting, so we can call it with a widget.\n", "\n", "The function doesn't return anything; the plot is a side-effect." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def ellipse(**kwargs):\n", " fig = plt.figure()\n", " ax = fig.add_subplot(111)\n", " ellipse = Ellipse(xy=(0.5,0.5), **kwargs)\n", " ax.add_patch(ellipse)\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can call the function, passing the arguments for the `Ellipse` object as `kwargs` (short for keyword arguments)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nmx48duxY4pXmLVu2bHVWVpZpcHymJa41M2fO/NBu/4dGCJuPKu4UcXGJJ3nDMAxWLsO9vLz81vj4\n+NrY2NhTGo3Gnpubu7m4uHhWz3lr165dct999707cuRIPrAAstBqtda4uMSTQuz0Sb3g4JKOuXNz\nNvqkGNAPalcbGxoaYvR6/f/eWq3T6erLysoyes4pLi6e9cknn9z52WefTVSpVFe8D7ygoKCg62uj\n0Wg2Go3mgbUO/NjcuTkbn3uu5NmOjruCvVtJEoGBJY577y1937t1cK0xm81Gs9ls9MS+XIZ7b0Hd\n3RNPPPGfq1atekqlUkmSJKl6Oy3TPdwBb7j33pz3V67MekaIF0UfT+0BOijCw9UXk5KSqr1YBNeg\nnge+K1asWN7ffbn8HxATE9NgsVj0XY8tFotep9PVd59z8ODBW3JzczcLIURTU1PUtm3b7tZoNPac\nnJyS/jYF9Me4ceOOjhmj//Lzzz9IFuKXXqsTEvJy+5IlC19y5+AHkI0kSb0Ou92uHjNmzMm6urrY\njo6OoNTU1Irq6urE3ubPmzdvw9atW2f3/Pfvy/Reh8Hw1Ni4ceODQ4ZMvyCEJHlnnJWuuy6ivbGx\nMUrun5Wh/DGQ7HT5gqparXYUFhYuzszM/CgpKan6gQce2JKYmHisqKgov6ioKN8Xv3yAqzFnzpyt\nGs0XdiEOemX/avUrjtmz52yNiopq8koBwENUP/x28G6RH87He70QIIR48cU1Tzz77M4/tra+F+bZ\nPZ8X110Xd6mqam+KwWCo8ey+gZ8aSHYS7lCctra20OjoMd+cP//hUCFu8dh+AwP/4LjnnuMfvv/+\nxns9tlPAhYFkJ28/AMUJDQ1tW7v2hcVhYfNahfDUp99VieuuW9vx0kurlnpoh4BXEe5QpIcf/tVb\nt99u+DQoaLkHblm1ibCwX7euXfvCkhtuuOHrge8P8D5Oy0Cxzp49O+qmm1K/+O67rcOEmNLv/Wg0\nv7NPm3Zk1z//WXwXlz/ClzgtA1zBqFGjzq5f//KC0NCH24So7/sbrqhUhISsa3/rrdd+RbDDnxDu\nULTZs2e/9/vf/+tzoaG3twlx/Kq+V6V6WwoPn3/BZPqfrOuvv/6Ml1oEvILTMrgmrF//t/mLFz/1\ncnt7SYgQt/Y5PzDwRWdExIstO3duu2PcuHFHfdAi8BNcCgm44YMPPviX3Nx5mzs7Z6suXXo8RIjk\nHjM6hRAfiiFDXrw4YsSZc7t2mabxAirkRLgDbjp79uyol18u+rc1a155orNzXEB7+80hDkeYOiio\n2abRlNp1uqH1zz775HP333//O0FBQb56c3jgigh34Cp1dHQEFxcXz/ryyy/HXLzYGjZ8eGRzRkZG\n2ZQpU/bywikGC8IdABSISyEBAD9CuAOAAhHuAKBAhDsAKBDhDgAKRLgDgAIR7gCgQIQ7ACgQ4Q4A\nCkS4A4ACEe4AoECEOwAoEOEOAApEuAOAAhHuAKBAhDsAKBDhDgAKRLgDgAIR7gCgQIQ7ACgQ4Q4A\nCkS4A4ACEe4AoECEOwAoUJ/hbjKZshISEo4bDIaa1atXL+u5/e23334oNTW1MiUlpeq2227bU1VV\nleKdVgEAbpMkqdfhcDgC4+Liauvq6mJtNpsmNTW1orq6OrH7nL17905uaWkZJkmS2LZtW1ZGRsb+\nnvv5vkzvdRgMBoPx0zGQ7HR55F5eXn5rfHx8bWxs7CmNRmPPzc3dXFxcPKv7nMmTJ+8bNmzYd0II\nkZGRUVZfX6/z1i8iAIB71K42NjQ0xOj1ekvXY51OV19WVpbR2/x169blZWdnl15pW0FBQUHX10aj\n0Ww0Gs1X3y4AKJfZbDaazWajJ/blMtxVKpXk7o527Ngxff369Qv27Nlz25W2dw93AMBP9TzwXbFi\nxfL+7stluMfExDRYLBZ912OLxaLX6XT1PedVVVWlLFy48HWTyZQVGRnZ3N9mAACe4fKce3p6+oGa\nmhrDqVOnYm02W9CWLVseyMnJKek+5+uvv75h9uzZ77311lu/io+Pr/VuuwAAd7g8cler1Y7CwsLF\nmZmZHzmdzsC8vLx1iYmJx4qKivKFECI/P7/oD3/4w/9tbm6OXLRo0V+FEEKj0djLy8tv9UXzAIAr\nU/1wuY13i6hUkiRJKq8XAgAFGUh2cocqACgQ4Q4ACkS4A4ACEe4AoECEOwAoEOEOAApEuAOAAhHu\nAKBAhDsAKBDhDgAKRLgDgAIR7gCgQIQ7ACgQ4Q4ACkS4A4ACEe4AoECEOwAoEOEOAApEuAOAAhHu\nAKBAhDsAKBDhDgAKRLgDgAIR7gCgQIQ7ACgQ4Q4ACkS4A4ACEe4AoECEOwAoEOEOAApEuAOAAhHu\nAKBAhDsAKBDhDgAKRLgDgAIR7j5mNpuNcvcwWLAWl7EWl7EWntFnuJtMpqyEhITjBoOhZvXq1cuu\nNGfp0qUvGQyGmtTU1MrDhw9P8HybysET9zLW4jLW4jLWwjNchrvT6QxcvHhxoclkyqqurk7atGnT\ng8eOHUvsPqe0tDS7trY2vqamxvDaa6/9ZtGiRX/1bssAgL64DPfy8vJb4+Pja2NjY09pNBp7bm7u\n5uLi4lnd55SUlOQ88sgj/y2EEBkZGWUtLS0RVqtV682mAQB9kCSp1/HOO+/c9+ijj77e9fjNN9/8\n1eLFi9d2n3PPPfd8sGfPnildj2fMmLH9wIEDt3SfI4SQGAwGg3H1w1VGuxpq4YJKpZJcbe8iSZLK\n1ff13A4A8C6Xp2ViYmIaLBaLvuuxxWLR63S6eldz6uvrdTExMQ2ebxUA4C6X4Z6enn6gpqbGcOrU\nqVibzRa0ZcuWB3Jyckq6z8nJySl54403fi2EEPv3758UERHRotVqrd5sGgDgmsvTMmq12lFYWLg4\nMzPzI6fTGZiXl7cuMTHxWFFRUb4QQuTn5xdlZ2eXlpaWZsfHx9eGhYW1btiwYb5vWgcA9Kq/J+uv\nNLZt25Y1duzY4/Hx8TWrVq1adqU5S5YseSk+Pr4mJSWl8tChQxM8WX8wjb7W4q233nooJSWlcvz4\n8VVTpkzZU1lZmSJ3z3KtRdcoLy+fGBgY6Ni6detsuXuWcy127NhhTEtLOzxu3LjP77jjDrPcPcu1\nFo2NjVGZmZmm1NTUinHjxn2+YcOGeXL37I0xf/789aNGjbImJycf6W1Of3LTYw06HI7AuLi42rq6\nulibzaZJTU2tqK6uTuw+58MPP8y+++67SyVJEvv378/IyMjYL/fCemO4sxZ79+6d3NLSMkySvn+S\nX8tr0TVv+vTpn8ycOfP/vfvuu3Pk7luutWhubo5ISko6arFYdJL0fcDJ3bdca7F8+fKCp5566vmu\ndRg+fPg5u92ulrt3T49du3ZNPXTo0ITewr2/uemxtx/gmvjL3FmLyZMn7xs2bNh3Qny/FvX19Tp5\nuvUud9ZCCCHWrl275L777nt35MiRjXL06QvurMXGjRvnzpkzZ2vXhQtRUVFN8nTrXe6sRXR09Dfn\nz58fKoQQ58+fHzpixIhzarXaIU/H3jN16tTdkZGRzb1t729ueizcGxoaYvR6vaXrsU6nq29oaIjp\na44SQ82dtehu3bp1ednZ2aW+6c633H1eFBcXz+q6u9ndS3D9jTtrUVNTY/j222+HT58+fUd6evqB\nN99882Hfd+p97qzFwoULXz969Oi40aNHn05NTa1cs2bN477vVH79zU2XL6heDU9dE68EV/Mz7dix\nY/r69esX7Nmz5zZv9iQXd9biiSee+M9Vq1Y9pVKpJEmSVD2fI0rhzlrY7XbNoUOHbv74449ntLW1\nhU6ePHnfpEmT9hsMhhpf9Ogr7qzFypUrn0lLS6swm83GkydPxt11113/rKysTA0PD7/gix4Hk/7k\npsfCnWviL3NnLYQQoqqqKmXhwoWvm0ymLFd/lvkzd9bi4MGDt+Tm5m4WQoimpqaobdu23a3RaOw9\nL7v1d+6shV6vt0RFRTWFhIS0h4SEtE+bNm1XZWVlqtLC3Z212Lt375Tf/e53fxJCiLi4uJM33nhj\n3YkTJ8amp6cf8HW/cup3bnrqRQG73a4eM2bMybq6utiOjo6gvl5Q3bdv3ySlvojozlp89dVXN8TF\nxdXu27dvktz9yr0W3ce8efM2KPVqGXfW4tixYwkzZszY7nA4AltbW0OTk5OPHD16NEnu3uVYiyef\nfPIvBQUFyyVJEmfOnNHGxMTUnzt3brjcvXtj1NXVxbrzgurV5KZHGywtLb37pptuOhEXF1e7cuXK\npyVJEq+++mr+q6++mt8157HHHiuMi4urTUlJqTx48ODNci+qt0Zfa5GXl/dfw4cPP5eWlnY4LS3t\n8MSJE8vl7lmuteg+lBzu7q7FCy+88O9JSUlHk5OTj6xZs2ap3D3LtRaNjY1R99xzzwcpKSmVycnJ\nR95+++25cvfsjZGbm7spOjr6tEajsel0Osu6desWeCI3VZKkuFPeAHDN45OYAECBCHcAUCDCHQAU\niHAHAAUi3AFAgQh3AFCg/w+zApEQ37ff+QAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "widgets.interactive(ellipse, width=0.33, height=0.1, angle=90)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using static interactive widgets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[`ipywidgets`](https://github.com/jakevdp/ipywidgets) pre-renders everything. So it's slow to make, fast to run... and it runs for anyone, even in static servers like **nbviewer.org**." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from ipywidgets import StaticInteract, RangeWidget" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def ellipse(**kwargs):\n", " fig = plt.figure()\n", " ax = fig.add_subplot(111)\n", " ellipse = Ellipse(xy=(0.5,0.5), **kwargs)\n", " ax.add_patch(ellipse)\n", " return fig" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\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", " \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", "
\n", " \n", "
\n", " \n", "
\n", " \n", " angle: \n", "
\n", "height: \n", "
\n", "width: \n", "
\n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "width = RangeWidget(0.0, 1.0, 0.2)\n", "height = RangeWidget(0.0, 1.0, 0.2)\n", "angle = RangeWidget(0, 90, 15)\n", "StaticInteract(ellipse, width=width, height=height, angle=angle)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 0 }