{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Demo for jupyter-drawing-pad widget" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import jupyter_drawing_pad as jd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The widget is a box containing a drawing pad (main widget) and buttons (related to functionalities described below). Here is the drawing pad. You can draw whatever you want and data will be synchronised with the Python." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "9066670ba9404b6bb15e1a096b578e42", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type DrawingPad.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "DrawingPad(data=[[], [], []])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "widget = jd.CustomBox()\n", "widget.drawing_pad" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[], [], []]\n" ] } ], "source": [ "print(widget.drawing_pad.data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Synchronisation works both ways !" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "widget.drawing_pad.data = [ [100,200,300], [100,20,30], [1,2,3]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can display the entiere widget. There are four additionnal elements:\n", "+ a text-field : to enter a name related to a signature (drawn in the drawing pad)\n", "+ a Clear button\n", "+ a Save button : to save a signature (related to the name written in the text field)\n", "+ a Login button : you can try to reproduce a signature previously registered. If this signature is close enough to one of the saved ones, a message `Welcome (name)` should appear" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2d2e664a56f944d0b83d383f9b85bba0", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type CustomBox.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "CustomBox(children=(DrawingPad(data=[[100, 200, 300], [100, 20, 30], [1, 2, 3]]), VBox(children=(Text(value='', description='Name:', placeholder='Type your name'), Button(description='Clear', style=ButtonStyle(), tooltip='Click me'), Button(description='Save', style=ButtonStyle(), tooltip='Click me'), Button(description='Login', style=ButtonStyle(), tooltip='Click me')))))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "widget" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Accessing registered signatures" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{}\n" ] } ], "source": [ "print(widget.get_saved())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reproducing the content of the drawing pad in a figure using matplotlib" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,5))\n", "plt.plot(widget.drawing_pad.data[0], widget.drawing_pad.data[1])\n", "plt.xlim(0,500)\n", "plt.ylim(0,250)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "09169f41802946cd8fc13ee5b2cb2702": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "description": "Save", "layout": "IPY_MODEL_faab26fab9ec4688bbe08a3e2ac5032a", "style": "IPY_MODEL_afaa2a5883764493908afc1bc1dadfc6", "tooltip": "Click me" } }, "092749e0609042e2a8187f8101abcef3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "2d2e664a56f944d0b83d383f9b85bba0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_9066670ba9404b6bb15e1a096b578e42", "IPY_MODEL_edbb665f8eb847708199186ab8e92e9f" ], "layout": "IPY_MODEL_c239d36cba964084990e5793f087eb7d" } }, "34ddb910c0424970adb5ab52aacdea07": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "367b6e79481240f9aa3b090619350442": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "39bb39fbcc8b42e6aff970157dc8b446": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "description": "Clear", "layout": "IPY_MODEL_e81f54ae2c8f4766ae25c0809d0560bb", "style": "IPY_MODEL_b0c7d806e07a40758945389cbdbfe72c", "tooltip": "Click me" } }, "4035c0b9859946da8939e391524efab6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "description": "Login", "layout": "IPY_MODEL_34ddb910c0424970adb5ab52aacdea07", "style": "IPY_MODEL_ee86c9c0a0154d61bbf1048b47f4640e", "tooltip": "Click me" } }, "9066670ba9404b6bb15e1a096b578e42": { "model_module": "jupyter-drawing-pad", "model_module_version": "^0.1.6", "model_name": "DrawingModel", "state": { "_model_module_version": "^0.1.6", "_view_module_version": "^0.1.6", "data": [ [ 100, 200, 300 ], [ 100, 20, 30 ], [ 1, 2, 3 ] ], "layout": "IPY_MODEL_b3428cfb17dd4b17a827bdb05aab4f90", "value": "Hello World!!!!!!!!!!!!!!!!" } }, "9b4395c8d2f34a5fb81746011d85d257": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "TextModel", "state": { "description": "Name:", "layout": "IPY_MODEL_9e3b2bf53bd84d569c5e4bec729580d9", "placeholder": "Type your name", "style": "IPY_MODEL_367b6e79481240f9aa3b090619350442" } }, "9e3b2bf53bd84d569c5e4bec729580d9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "afaa2a5883764493908afc1bc1dadfc6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "b0c7d806e07a40758945389cbdbfe72c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "b3428cfb17dd4b17a827bdb05aab4f90": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "c239d36cba964084990e5793f087eb7d": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "e81f54ae2c8f4766ae25c0809d0560bb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "edbb665f8eb847708199186ab8e92e9f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_9b4395c8d2f34a5fb81746011d85d257", "IPY_MODEL_39bb39fbcc8b42e6aff970157dc8b446", "IPY_MODEL_09169f41802946cd8fc13ee5b2cb2702", "IPY_MODEL_4035c0b9859946da8939e391524efab6" ], "layout": "IPY_MODEL_092749e0609042e2a8187f8101abcef3" } }, "ee86c9c0a0154d61bbf1048b47f4640e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "faab26fab9ec4688bbe08a3e2ac5032a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 2 }