Skip to content

Instantly share code, notes, and snippets.

@psychemedia
Last active January 10, 2017 20:50
Show Gist options
  • Save psychemedia/1e402a19c7abf0b10e30f3d551c561ec to your computer and use it in GitHub Desktop.
Save psychemedia/1e402a19c7abf0b10e30f3d551c561ec to your computer and use it in GitHub Desktop.
First attempt at using ipywidgets interact() / rapid application development to motivate the use of functions.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# An Alternative Way of Motivating Functions?\n",
"\n",
"Suppose we want to explore the effect of changing the frequency of a sine wave plotted over a specific range of values.\n",
"\n",
"We can use matplotlib to plot a simple chart."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x112e2b550>]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1100b0400>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# Create 1000 evenly-spaced values from 0 to 2 pi\n",
"x = np.linspace(0, 2*np.pi, 1000) \n",
"\n",
"#Set the frequency\n",
"f=1\n",
"\n",
"#Plot a sine wave over those values\n",
"y = np.sin(f*x)\n",
"\n",
"plt.plot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To plot the chart for a different value of `f`, we could change the value of `f` in the code cell above and run the code again.\n",
"\n",
"Or we could repeat ourselves a bit..."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x112e0ecf8>]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nJHG3hQXgsnwAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1139bf940>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Set the frequency\n",
"f=2\n",
"\n",
"#Plot a sine wave over those values\n",
"y = np.sin(f*x)\n",
"\n",
"plt.plot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wouldn't it be nice if we could make a simple interactive tool that lets us explore the effect of changing `f` directly? For example, a slider we could use to set the value of `f` and automatically plot the result?\n",
"\n",
"The `interact()` function in the `ipywidgets` package let's us do exactly that - but it requires that we get our code into a form where we can just pass it the value of `f` and let it plot the chart.\n",
"\n",
"Defing a *function* allows us to do exactly that:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x113dba7b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Create a function that will plot a sine wave over the range 0..2 pi for a specified frequency\n",
"#If no frequncy value is specified, use the default setting: f=1\n",
"\n",
"def sinplot(f=1):\n",
" #Define a range of x values\n",
" x = np.linspace(0, 2*np.pi, 1000) \n",
"\n",
" #Plot a sine wave with the specified frequency over that range\n",
" y = np.sin(f*x)\n",
"\n",
" #Plot the chart\n",
" plt.plot(x, y)\n",
" \n",
"sinplot(f=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's use that function with a widget to control the setting of the frequency, specifying the initial default value for slider and letting the `interact()` function set the range automatically:"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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",
"text/html": [
"<img src=data:image/png;base64,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 class=\"jupyter-widget\">\n",
"<script type=\"application/vnd.jupyter-embedded-widgets\">[{},{},{\"value\":5,\"description\":\"f\",\"layout\":\"IPY_MODEL_6c72f2cff72145268dfbc2b91ddc9a82\",\"min\":-5,\"max\":15},{\"layout\":\"IPY_MODEL_254d755e89b444dc9a4465da1cea58df\",\"_dom_classes\":[\"widget-interact\"],\"children\":[\"IPY_MODEL_94b5a462f5ba44a08014e2dfbf787f0a\"]}]</script>"
]
},
"metadata": {
"isWidgetSnapshot": true
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/html": [
"<img src=data:image/png;base64,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 class=\"jupyter-widget\">\n",
"<script type=\"application/vnd.jupyter-embedded-widgets\">[{},{},{\"value\":5,\"description\":\"f\",\"layout\":\"IPY_MODEL_6c72f2cff72145268dfbc2b91ddc9a82\",\"min\":-5,\"max\":15},{\"layout\":\"IPY_MODEL_254d755e89b444dc9a4465da1cea58df\",\"_dom_classes\":[\"widget-interact\"],\"children\":[\"IPY_MODEL_94b5a462f5ba44a08014e2dfbf787f0a\"]}]</script>"
]
},
"metadata": {
"isWidgetSnapshot": true
},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.sinplot>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x113a884a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from ipywidgets import interact\n",
"\n",
"interact(sinplot, f=5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can make things more elaborate - for example, setting the maximum x value too, and specifying a range for the slider values, rather than letting `interact()` guess at the limits for us."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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",
"text/html": [
"<img src=data:image/png;base64,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 class=\"jupyter-widget\">\n",
"<script type=\"application/vnd.jupyter-embedded-widgets\">[{},{},{\"value\":5,\"description\":\"f\",\"layout\":\"IPY_MODEL_52a654f58ee74e99a638d9dcc088f5d6\",\"min\":-5,\"max\":15},{},{\"value\":6.3,\"description\":\"max_x\",\"layout\":\"IPY_MODEL_072b2707509d4aaf8f85e1f27468d2b4\",\"step\":0.1,\"max\":12.566370614359172},{\"layout\":\"IPY_MODEL_4126cc72b2d84a749d28d9c7386557be\",\"_dom_classes\":[\"widget-interact\"],\"children\":[\"IPY_MODEL_c8dbb6c7d75b4566bb46889a5726ad74\",\"IPY_MODEL_89136262b1174456a8b35cbf47e83027\"]}]</script>"
]
},
"metadata": {
"isWidgetSnapshot": true
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/html": [
"<img src=data:image/png;base64,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 class=\"jupyter-widget\">\n",
"<script type=\"application/vnd.jupyter-embedded-widgets\">[{},{},{\"value\":5,\"description\":\"f\",\"layout\":\"IPY_MODEL_52a654f58ee74e99a638d9dcc088f5d6\",\"min\":-5,\"max\":15},{},{\"value\":6.3,\"description\":\"max_x\",\"layout\":\"IPY_MODEL_072b2707509d4aaf8f85e1f27468d2b4\",\"step\":0.1,\"max\":12.566370614359172},{\"layout\":\"IPY_MODEL_4126cc72b2d84a749d28d9c7386557be\",\"_dom_classes\":[\"widget-interact\"],\"children\":[\"IPY_MODEL_c8dbb6c7d75b4566bb46889a5726ad74\",\"IPY_MODEL_89136262b1174456a8b35cbf47e83027\"]}]</script>"
]
},
"metadata": {
"isWidgetSnapshot": true
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e9be9b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def sinplot2(f=1,max_x=2*np.pi):\n",
" #Define a range of x values\n",
" x = np.linspace(0, max_x, 1000) \n",
"\n",
" #Plot a sine wave with the specified frequency over that range\n",
" y = np.sin(f*x)\n",
"\n",
" #Plot the chart\n",
" plt.plot(x, y)\n",
"\n",
"interact(sinplot2, f=5,max_x=[0,4*np.pi])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is an even tidier way of doing this, which is to use python function *decorators*. How these work can be a little difficult to explain, but you should be able to see a pattern going from the previous code cell to the one immediately below that's make them work in this case..."
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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",
"text/html": [
"<img src=data:image/png;base64,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 class=\"jupyter-widget\">\n",
"<script type=\"application/vnd.jupyter-embedded-widgets\">[{},{},{\"value\":5,\"description\":\"f\",\"layout\":\"IPY_MODEL_5d7d00618d5145df81ade41356b67633\",\"min\":-5,\"max\":15},{},{\"value\":6,\"description\":\"max_x\",\"layout\":\"IPY_MODEL_498d9625afee4e3f91cef13be9271912\",\"max\":7},{\"layout\":\"IPY_MODEL_14db593b198342cb84f9d7088b9f0386\",\"_dom_classes\":[\"widget-interact\"],\"children\":[\"IPY_MODEL_5c3d652ec3234ced9a315c0af1a8f499\",\"IPY_MODEL_fe61cd9ca58244b696ca000cfd65e2cd\"]}]</script>"
]
},
"metadata": {
"isWidgetSnapshot": true
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nDwQCgTLh/wMM60SL4eGdrgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1100c1908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"@interact(f=5,max_x=[0,7])\n",
"def sinplot2(f=1,max_x=2*np.pi):\n",
" ''' Plot the sine of a range of values '''\n",
" #Define a range of x values\n",
" x = np.linspace(0, max_x, 1000) \n",
"\n",
" #Plot a sine wave with the specified frequency over that range\n",
" y = np.sin(f*x)\n",
"\n",
" #Plot the chart\n",
" plt.plot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you decorate the function simply with:\n",
"\n",
"`@interact()`\n",
"\n",
"the widget ranges will be automatically determined from the default values passed into the decorated function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary\n",
"If you want to create a simple interactive visualisation as part of an exploratory data analysis process, create a function that generates the plot and accepts parameters related to the dimensions you want to explore, and then pass it to the `ipywidgets interact()` function. You can also pass in an indication of the default values or range you want applied to the widgets."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Further Information\n",
"\n",
"The `interact()` function can also be used to generate a range of other widget types, such as drop down lists for categorical variables.\n",
"\n",
"Widgets can also be defined relative to one another. For example, it is possible to link two drop down lists where the contents of one list are dependent on the contents of another ([example](https://blog.ouseful.info/2016/12/29/simple-view-controls-for-pandas-dataframes-using-ipython-widgets/))."
]
}
],
"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.5.1"
},
"widgets": {
"state": {
"01822b080e0c4e16ba5539993312bb2f": {
"views": []
},
"02ba70b1efce4f1bbadf9e53f7573e53": {
"views": []
},
"05ff1b142173428da9d6cb3df0e8e50d": {
"views": []
},
"072b2707509d4aaf8f85e1f27468d2b4": {
"views": []
},
"09de47bb8962498ba6fa572108c65e91": {
"views": []
},
"0a372400f8df48e7960897e3ebf9ff3b": {
"views": []
},
"0a3a1f6c6840441999509429c070640b": {
"views": []
},
"0ce1943d44774f6397b37ba2b3275b5a": {
"views": []
},
"0fb503a87f1d4c678ec71a8babafceee": {
"views": []
},
"110d7c6be80e49a886c517ff328b0048": {
"views": []
},
"14db593b198342cb84f9d7088b9f0386": {
"views": []
},
"1a59a94520554f14bb1a6a8128bf33bf": {
"views": []
},
"1c053c1870a5457bacd89217ad6a836c": {
"views": []
},
"1c4f91c394794d819081c623467b7782": {
"views": []
},
"1d9a33e87bbc423eaec2a77f8f698afe": {
"views": []
},
"1ed4dccefebf42328f867d5f8e0e8325": {
"views": []
},
"254d755e89b444dc9a4465da1cea58df": {
"views": []
},
"26fb864d5fcd43ceac646b0f05347233": {
"views": []
},
"2cd7a6f77ab44490858b83da1ab87425": {
"views": []
},
"2d0096d2c29b48f4925f381bd69f7739": {
"views": []
},
"2f7169457f3a446b8e1e2eb62755d9ae": {
"views": []
},
"330f4f43ed3a4ded98f4ce56fcf32966": {
"views": []
},
"3d22a688d5c845a494d1e4269f51941d": {
"views": []
},
"3f781bbf344d4f52881276068daf5171": {
"views": []
},
"402534054a4f478391720cf933a03f55": {
"views": []
},
"4126cc72b2d84a749d28d9c7386557be": {
"views": []
},
"42f35c3661264af3a54381bbccc36d5e": {
"views": []
},
"4302e743c53441e8a008cbf35f329d24": {
"views": []
},
"4717e4971f8b414299588938c27287e4": {
"views": []
},
"498d9625afee4e3f91cef13be9271912": {
"views": []
},
"49c8a18649744c60b22ec6e5289e4fb7": {
"views": []
},
"4cebded3dc1b42ea9e84a85416e4d0cf": {
"views": []
},
"5138e15c51e8436e84509da15b196980": {
"views": []
},
"52a654f58ee74e99a638d9dcc088f5d6": {
"views": []
},
"52ab77682ad340d7895711f001bbf646": {
"views": []
},
"58d30857fc984df5b575a73d1b543d03": {
"views": [
{
"cell_index": 11
}
]
},
"5c3d652ec3234ced9a315c0af1a8f499": {
"views": []
},
"5d5600bcaa764a0dbf86ecaf319dd279": {
"views": []
},
"5d7d00618d5145df81ade41356b67633": {
"views": []
},
"5eb09bf4fc72482191bc39d7bc7c9a16": {
"views": []
},
"61cf3e65d34c474ca729a82c6d137b27": {
"views": []
},
"62341954f1fa47388154a01ea6c5e1c7": {
"views": []
},
"63af4fdd89394adfaab1e2f4b7eff9b5": {
"views": []
},
"6c72f2cff72145268dfbc2b91ddc9a82": {
"views": []
},
"6cde5cb3f1c74befaa7966cd82bb992a": {
"views": []
},
"6dd995a9ae80475b9e33baa8fb63cb41": {
"views": []
},
"6df66c2cf5d4476d9b7fe63499cbfae1": {
"views": []
},
"6fba18afee71471ea99e34be7247e76b": {
"views": []
},
"6fef50d2ba194f65bd9346c932e23a31": {
"views": []
},
"70fe6a96e1444824a886245a590d0726": {
"views": []
},
"711e1c9d38e14c83a8dd8cf77d22aef7": {
"views": []
},
"7123688ebcf54030a150cc99ce21353d": {
"views": []
},
"7235221caced4147827a2346d0908c59": {
"views": []
},
"72669aee69034722aaad5cccc261d097": {
"views": []
},
"73675b45d6854464951ac82dd641b96b": {
"views": []
},
"78cb22e6b4c8419a9a2d98c9e1074200": {
"views": []
},
"7f8566f96e7d43be99c7640d7d845652": {
"views": []
},
"811f0d4d585c4fed89873d8ff282bf41": {
"views": [
{
"cell_index": 9
}
]
},
"81e9a174cc654f9c986a2d7f2cb44385": {
"views": []
},
"860dcdd81cc64d3281e4c2116e683ac0": {
"views": []
},
"8883d137a1534b8bbe8ec82cfd5ca8d4": {
"views": []
},
"89136262b1174456a8b35cbf47e83027": {
"views": []
},
"894913be5a5f400990bd1c00385c690b": {
"views": []
},
"89d2b7d02250483887df772cf4be3c54": {
"views": []
},
"8d72bc6aad224784a0329fd51558451a": {
"views": []
},
"90a6d549647749eea1221ab44483b405": {
"views": []
},
"913958424f03437595aa85d1fb7030aa": {
"views": []
},
"91ddce81c2e643f98a4a1ec4c8804cd3": {
"views": []
},
"930982e4178a4584986abc4036daa152": {
"views": []
},
"93edacfdd53c42ec861dde90fc8e017d": {
"views": []
},
"946b8fdca0ac4c6c98d0ae0e65ae8bda": {
"views": []
},
"94b5a462f5ba44a08014e2dfbf787f0a": {
"views": []
},
"98788588f39543288695dfd7a3927261": {
"views": []
},
"99058a1f700a4e2386bcc828fa6096bf": {
"views": []
},
"9fbd6071e71f40af98c67afc4be4354f": {
"views": []
},
"a0f7436c5e99415ea07703d5248937a4": {
"views": []
},
"a295e2e6272944ad8193d8b1d979c619": {
"views": []
},
"a92e61ee2dbc4bbbbc7bac3b9ac09995": {
"views": []
},
"ab5b622214ba4fedb62577abb4635a3f": {
"views": []
},
"aed26b546a504c8ab08593b3b3de8731": {
"views": []
},
"b02d46f7767e48e58d3b38d6a2e71d0d": {
"views": []
},
"b25c33cb88ac405f94da4a8dc6799587": {
"views": []
},
"b3580ba3ab1844d5a634037b3d41928f": {
"views": []
},
"b7086bf6d88c49b1b8ae7e719d7e9639": {
"views": []
},
"b7d929b7ed8a409cba706b4344536b01": {
"views": []
},
"b85daa0b93e04c90a1ce8c8a55cfbe8f": {
"views": []
},
"bcf659c767434e9ca307727276b5abaf": {
"views": []
},
"bfaf85e5a1b845ddbf8e6a432ebff5cf": {
"views": []
},
"c23339271e0649abbc09a98713fe2d2d": {
"views": []
},
"c2c3c7431de04cc08fb4ba9fcb285477": {
"views": []
},
"c781450c88ba4a1a9316f44a73b615c6": {
"views": []
},
"c8c10e4a058d474fbe05715ebe7b7ed1": {
"views": [
{
"cell_index": 7
}
]
},
"c8dbb6c7d75b4566bb46889a5726ad74": {
"views": []
},
"cc01752516814a6b875fcbe0f8631b85": {
"views": []
},
"cdc954ac89154082ab6576b71837acc5": {
"views": []
},
"d04a4bf2e8414dc09ea0bd70a433cc6c": {
"views": []
},
"d75adb730c52495bbe61881911d646e1": {
"views": []
},
"dc5dd45373124c38ad820e62b600095d": {
"views": []
},
"dd8f5e5b18e4431d9383ed52ec173d28": {
"views": []
},
"de8c0d685a824e05b8aba413c5722b1f": {
"views": []
},
"dead60642f184623aae30f3010a41212": {
"views": []
},
"dee591c3daae4f48b798266fb3ad1840": {
"views": []
},
"dfe2661cf5ec4397b74b697ca413f65c": {
"views": []
},
"e0a5112a6ad94d988f8050b6ba6d544a": {
"views": []
},
"e11f245ccf204e75bc90fe47bb132a52": {
"views": []
},
"e2cbe4a0533b4f6cb7b786f17bf762f4": {
"views": []
},
"e2de5c18d98848f29ad32bfe6691e1d6": {
"views": []
},
"eadcc26beba44592aaa0e5aa3b71f7e4": {
"views": []
},
"eb7a6bda5a5545cf82e6c0cdd4445227": {
"views": []
},
"ebc8bd3353d645adaf3bcd945c7f699f": {
"views": []
},
"eeab1042eb13446cb8953e1631803bbe": {
"views": []
},
"f5bcb350ccbc4fa8b1e6622da98378db": {
"views": []
},
"f7562a3e31eb4a6aaa24fd8a71e56503": {
"views": []
},
"fe61cd9ca58244b696ca000cfd65e2cd": {
"views": []
},
"fed8b0fcd9394cfea8d94c599bb3f6f1": {
"views": []
},
"ff33f869336947b69e265fca10719242": {
"views": []
}
},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment