{ "cells": [ { "metadata": { "collapsed": true }, "cell_type": "markdown", "source": "# Basic Interactive Widgets\n\nAs well as supporting interactive content editing and code execution, Jupyter notebooks also allow the embedding of interactive widgets that can be used to develop simple interactive user interfaces within a notebook.\n\nIn Python notebooks, the `ipywidgets` package provides all we need to get started." }, { "metadata": {}, "cell_type": "markdown", "source": "## `ipywidgets`" }, { "metadata": { "trusted": true }, "cell_type": "code", "source": "#Enable inline charts\n%matplotlib inline\n\n#Import ipywidget functions\nfrom ipywidgets import interact", "execution_count": 2, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "import numpy as np\nimport pandas as pd", "execution_count": 1, "outputs": [] }, { "metadata": {}, "cell_type": "markdown", "source": "Let's create a simple sinusoidal dataset:" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "df=pd.DataFrame({'x':np.arange(10, step=0.01)})\ndf['y']=np.sin(df['x'])\ndf.plot(x='x',y='y');", "execution_count": 16, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "We can create a function to calculate a similar wave with a frequency parameter." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "def sine_wave(f=1):\n df=pd.DataFrame({'x':np.arange(10, step=0.01)})\n df['y']=np.sin(f * df['x'])\n df.plot(x='x',y='y');", "execution_count": 17, "outputs": [] }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "sine_wave(5)", "execution_count": 19, "outputs": [ { "data": { "image/png": "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\n", "text/plain": "" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "If we \"decorate\" the sine wave function appropriately, we can automatically generate an interactive control to set the frequency value:" }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "@interact(freq = 1)\ndef sine_wave(freq =1):\n ''' Plot a simple sine wave. '''\n df = pd.DataFrame({'x':np.arange(10, step=0.01)})\n df['y'] = np.sin(freq * df['x'])\n df.plot(x='x',y='y');", "execution_count": 22, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8e3aa997d0c947ee9793802af0ea0d31", "version_major": 2, "version_minor": 0 }, "text/plain": "A Jupyter Widget" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": {}, "cell_type": "markdown", "source": "We can achieve more control over the slider if we need it, such as setting the upper and lower value limits and the step size.\n\nWe can also invoke other widget types. For example, if we pass a list of colour values, we can generate a drop down list to select the line colour. Or a boolean value for a checkbox." }, { "metadata": { "trusted": false }, "cell_type": "code", "source": "@interact(freq = (1,5,1),\n dashed = True,\n col = ['red','blue', 'green']\n )\ndef sine_wave(freq, col, dashed):\n ''' Plot a simple sine wave using with specified style. '''\n df = pd.DataFrame({'x':np.arange(10, step=0.01)})\n df['y'] = np.sin(freq * df['x'])\n df.plot(x='x',y='y', color=col, style = '--' if dashed else '-');", "execution_count": 30, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bda35edf686b40f1bf4ac45cfdb0f521", "version_major": 2, "version_minor": 0 }, "text/plain": "A Jupyter Widget" }, "metadata": {}, "output_type": "display_data" } ] }, { "metadata": { "trusted": true }, "cell_type": "code", "source": "#ish via https://github.com/jupyter-widgets/ipywidgets/issues/1582\n\nfrom IPython.display import display\nimport numpy as np\nfrom ipywidgets import interactive_output\nimport matplotlib.pyplot as plt\n\ndef plot_oscillation(wavelength, magnitude, phase):\n x = np.linspace(-20, 20, 1000)\n plt.plot(x, magnitude*np.sin((x+phase)/(wavelength/(2*np.pi))))\n plt.ylim((-10,10))\n plt.show()\n \nw = dict(wavelength = FloatSlider(2*np.pi, min=0.1, max=20, step=0.1, description='wavelength'),\n magnitude = FloatSlider(1, min=0.1, max=10, step=0.1, description='magnitude'),\n phase = FloatSlider(0, min=0, max=10, step=0.1, description='phase'))\n\n#We can control elements of the layout\noutput = interactive_output(plot_oscillation, w)\nbox = HBox([VBox([*w.values()]), output])\ndisplay(box)", "execution_count": 3, "outputs": [ { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c9973e0e1ee94c49968dec733708c828", "version_minor": 0, "version_major": 2 }, "text/plain": "HBox(children=(VBox(children=(FloatSlider(value=1.0, description='magnitude', max=10.0, min=0.1), FloatSlider(…" }, "metadata": {} } ] }, { "metadata": { "trusted": true }, "cell_type": "code", "source": "", "execution_count": null, "outputs": [] } ], "metadata": { "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" }, "language_info": { "mimetype": "text/x-python", "nbconvert_exporter": "python", "name": "python", "file_extension": ".py", "version": "3.5.4", "pygments_lexer": "ipython3", "codemirror_mode": { "version": 3, "name": "ipython" } } }, "nbformat": 4, "nbformat_minor": 2 }