{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Beginning interactivity with tabular data: ipywidgets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Topics\n", "\n", " 1. Intro to ipywidgets\n", " 1. ipywidgets with decorators\n", " 1. ipywidgets: More details\n", "\n", "\n", "If we have time: Changing the colormap with widgets in two ways -- The Michigan Depth Map\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Import our usual things:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Intro to decorators" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "buildings = pd.read_csv(\"https://github.com/UIUC-iSchool-DataViz/is445_data/raw/main/building_inventory.csv\",\n", " na_values = {'Square Footage': 0,\n", " 'Year Acquired': 0,\n", " 'Year Constructed': 0}) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create some \"mutated\" data:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | count | \n", "mean | \n", "std | \n", "min | \n", "25% | \n", "50% | \n", "75% | \n", "max | \n", "
---|---|---|---|---|---|---|---|---|
Year Acquired | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
1753.0 | \n", "1.0 | \n", "1200.000000 | \n", "NaN | \n", "1200.0 | \n", "1200.0 | \n", "1200.0 | \n", "1200.00 | \n", "1200.0 | \n", "
1802.0 | \n", "2.0 | \n", "2220.000000 | \n", "1943.129435 | \n", "846.0 | \n", "1533.0 | \n", "2220.0 | \n", "2907.00 | \n", "3594.0 | \n", "
1810.0 | \n", "3.0 | \n", "1344.333333 | \n", "1809.945948 | \n", "216.0 | \n", "300.5 | \n", "385.0 | \n", "1908.50 | \n", "3432.0 | \n", "
1832.0 | \n", "1.0 | \n", "120000.000000 | \n", "NaN | \n", "120000.0 | \n", "120000.0 | \n", "120000.0 | \n", "120000.00 | \n", "120000.0 | \n", "
1837.0 | \n", "1.0 | \n", "10302.000000 | \n", "NaN | \n", "10302.0 | \n", "10302.0 | \n", "10302.0 | \n", "10302.00 | \n", "10302.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2015.0 | \n", "20.0 | \n", "15254.650000 | \n", "29153.085290 | \n", "144.0 | \n", "696.0 | \n", "3152.0 | \n", "10590.25 | \n", "105000.0 | \n", "
2016.0 | \n", "10.0 | \n", "30483.900000 | \n", "61864.180491 | \n", "1152.0 | \n", "2464.0 | \n", "3352.5 | \n", "3793.00 | \n", "184000.0 | \n", "
2017.0 | \n", "1.0 | \n", "6720.000000 | \n", "NaN | \n", "6720.0 | \n", "6720.0 | \n", "6720.0 | \n", "6720.00 | \n", "6720.0 | \n", "
2018.0 | \n", "4.0 | \n", "4290.000000 | \n", "5153.644342 | \n", "1455.0 | \n", "1455.0 | \n", "1852.5 | \n", "4687.50 | \n", "12000.0 | \n", "
2019.0 | \n", "2.0 | \n", "760.000000 | \n", "0.000000 | \n", "760.0 | \n", "760.0 | \n", "760.0 | \n", "760.00 | \n", "760.0 | \n", "
171 rows × 8 columns
\n", "\n", " | count | \n", "mean | \n", "std | \n", "min | \n", "25% | \n", "50% | \n", "75% | \n", "max | \n", "
---|---|---|---|---|---|---|---|---|
Year Acquired | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
1753.0 | \n", "1.0 | \n", "1200.000000 | \n", "NaN | \n", "1200.0 | \n", "1200.0 | \n", "1200.0 | \n", "1200.00 | \n", "1200.0 | \n", "
1802.0 | \n", "2.0 | \n", "2220.000000 | \n", "1943.129435 | \n", "846.0 | \n", "1533.0 | \n", "2220.0 | \n", "2907.00 | \n", "3594.0 | \n", "
1810.0 | \n", "3.0 | \n", "1344.333333 | \n", "1809.945948 | \n", "216.0 | \n", "300.5 | \n", "385.0 | \n", "1908.50 | \n", "3432.0 | \n", "
1832.0 | \n", "1.0 | \n", "120000.000000 | \n", "NaN | \n", "120000.0 | \n", "120000.0 | \n", "120000.0 | \n", "120000.00 | \n", "120000.0 | \n", "
1837.0 | \n", "1.0 | \n", "10302.000000 | \n", "NaN | \n", "10302.0 | \n", "10302.0 | \n", "10302.0 | \n", "10302.00 | \n", "10302.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2015.0 | \n", "20.0 | \n", "15254.650000 | \n", "29153.085290 | \n", "144.0 | \n", "696.0 | \n", "3152.0 | \n", "10590.25 | \n", "105000.0 | \n", "
2016.0 | \n", "10.0 | \n", "30483.900000 | \n", "61864.180491 | \n", "1152.0 | \n", "2464.0 | \n", "3352.5 | \n", "3793.00 | \n", "184000.0 | \n", "
2017.0 | \n", "1.0 | \n", "6720.000000 | \n", "NaN | \n", "6720.0 | \n", "6720.0 | \n", "6720.0 | \n", "6720.00 | \n", "6720.0 | \n", "
2018.0 | \n", "4.0 | \n", "4290.000000 | \n", "5153.644342 | \n", "1455.0 | \n", "1455.0 | \n", "1852.5 | \n", "4687.50 | \n", "12000.0 | \n", "
2019.0 | \n", "2.0 | \n", "760.000000 | \n", "0.000000 | \n", "760.0 | \n", "760.0 | \n", "760.0 | \n", "760.00 | \n", "760.0 | \n", "
171 rows × 8 columns
\n", "\n", " | observed | \n", "location_details | \n", "county | \n", "state | \n", "season | \n", "title | \n", "latitude | \n", "longitude | \n", "date | \n", "number | \n", "... | \n", "precip_intensity | \n", "precip_probability | \n", "precip_type | \n", "pressure | \n", "summary | \n", "uv_index | \n", "visibility | \n", "wind_bearing | \n", "wind_speed | \n", "location | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Ed L. was salmon fishing with a companion in P... | \n", "East side of Prince William Sound | \n", "Valdez-Chitina-Whittier County | \n", "Alaska | \n", "Fall | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "1261.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1 | \n", "heh i kinda feel a little dumb that im reporti... | \n", "the road is off us rt 80, i dont know the exit... | \n", "Warren County | \n", "New Jersey | \n", "Fall | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "438.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2 | \n", "I was on my way to Claremont from Lebanon on R... | \n", "Close to Claremont down 120 not far from Kings... | \n", "Sullivan County | \n", "New Hampshire | \n", "Summer | \n", "Report 55269: Dawn sighting at Stevens Brook o... | \n", "43.41549 | \n", "-72.33093 | \n", "2016-06-07 | \n", "55269.0 | \n", "... | \n", "0.001 | \n", "0.7 | \n", "rain | \n", "998.87 | \n", "Mostly cloudy throughout the day. | \n", "6.0 | \n", "9.70 | \n", "262.0 | \n", "0.49 | \n", "POINT(-72.33093000000001 43.415490000000005) | \n", "
3 | \n", "I was northeast of Macy Nebraska along the Mis... | \n", "Latitude & Longitude : 42.158230 -96.344197 | \n", "Thurston County | \n", "Nebraska | \n", "Spring | \n", "Report 59757: Possible daylight sighting of a ... | \n", "42.15685 | \n", "-96.34203 | \n", "2018-05-25 | \n", "59757.0 | \n", "... | \n", "0.000 | \n", "0.0 | \n", "NaN | \n", "1008.07 | \n", "Partly cloudy in the morning. | \n", "10.0 | \n", "8.25 | \n", "193.0 | \n", "3.33 | \n", "POINT(-96.34203000000001 42.15685) | \n", "
4 | \n", "While this incident occurred a long time ago, ... | \n", "Ward County, Just outside of a the Minuteman T... | \n", "Ward County | \n", "North Dakota | \n", "Spring | \n", "Report 751: Hunter describes described being s... | \n", "48.25422 | \n", "-101.31660 | \n", "2000-04-21 | \n", "751.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "rain | \n", "1011.47 | \n", "Partly cloudy until evening. | \n", "6.0 | \n", "10.00 | \n", "237.0 | \n", "11.14 | \n", "POINT(-101.3166 48.254220000000004) | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
4742 | \n", "My cousin and I were camping way out in the wo... | \n", "Indiana, Brown County, Elkinsville, Lake Monro... | \n", "Brown County | \n", "Indiana | \n", "Spring | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "2460.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4743 | \n", "While backpacking near the horse trails and ac... | \n", "Near Bedford south of Brown County in the Hoos... | \n", "Brown County | \n", "Indiana | \n", "Winter | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "2461.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4744 | \n", "My wife and I were camping At Yellowood State ... | \n", "Yellowood State Park. Off of highway 46 in bet... | \n", "Brown County | \n", "Indiana | \n", "Summer | \n", "Report 49480: Campers hear possible vocalizati... | \n", "39.17909 | \n", "-86.33560 | \n", "2015-08-08 | \n", "49480.0 | \n", "... | \n", "0.000 | \n", "0.0 | \n", "NaN | \n", "1014.02 | \n", "Mostly cloudy in the evening. | \n", "9.0 | \n", "9.22 | \n", "256.0 | \n", "0.34 | \n", "POINT(-86.3356 39.17909) | \n", "
4745 | \n", "My wife and I were driving to Indianapolis to ... | \n", "On Interstate 65 in Indiana somewhere around t... | \n", "Boone County | \n", "Indiana | \n", "Winter | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "2459.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4746 | \n", "It was about 7:00 PM in September. It was stil... | \n", "Blackford County, Indiana located in the south... | \n", "Blackford County | \n", "Indiana | \n", "Summer | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "2458.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
4747 rows × 29 columns
\n", "\n", " | observed | \n", "location_details | \n", "county | \n", "state | \n", "season | \n", "title | \n", "latitude | \n", "longitude | \n", "date | \n", "number | \n", "... | \n", "precip_intensity | \n", "precip_probability | \n", "precip_type | \n", "pressure | \n", "summary | \n", "uv_index | \n", "visibility | \n", "wind_bearing | \n", "wind_speed | \n", "location | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1702 | \n", "On oct 16, 2008 me my best friend and girlfrie... | \n", "Cabin in Cameron county PA | \n", "Cameron County | \n", "Pennsylvania | \n", "Fall | \n", "Report 28580: Objects thrown and banging on a ... | \n", "41.34404 | \n", "-78.04547 | \n", "2008-10-16 | \n", "28580.0 | \n", "... | \n", "0.0017 | \n", "1.0 | \n", "rain | \n", "1016.85 | \n", "Light rain in the morning. | \n", "3.0 | \n", "7.31 | \n", "296.0 | \n", "3.27 | \n", "POINT(-78.04547 41.34404) | \n", "
2811 | \n", "I was working with my friend Brad B. for about... | \n", "go up Spruce Knob road | \n", "Pendleton County | \n", "West Virginia | \n", "Fall | \n", "Report 13122: Possible repeat approaches outsi... | \n", "38.70160 | \n", "-79.52835 | \n", "1996-10-11 | \n", "13122.0 | \n", "... | \n", "0.0017 | \n", "1.0 | \n", "rain | \n", "1027.85 | \n", "Light rain in the morning. | \n", "3.0 | \n", "9.21 | \n", "313.0 | \n", "1.92 | \n", "POINT(-79.52835 38.7016) | \n", "
2839 | \n", "I heard the whooping and it was very close. Ma... | \n", "Bear Heaven camp site 7. On Bickel's knob. | \n", "Randolph County | \n", "West Virginia | \n", "Summer | \n", "Report 41880: Possible vocalizations heard fro... | \n", "38.93027 | \n", "-79.68047 | \n", "2013-08-14 | \n", "41880.0 | \n", "... | \n", "0.0000 | \n", "0.0 | \n", "NaN | \n", "1019.22 | \n", "Mostly cloudy until evening. | \n", "5.0 | \n", "9.54 | \n", "324.0 | \n", "3.62 | \n", "POINT(-79.68047 38.93027) | \n", "
1861 | \n", "Where: San Jacinto County, Evergreen, TX When... | \n", "Driving East from New Waverly, Texas about 7 m... | \n", "San Jacinto County | \n", "Texas | \n", "Fall | \n", "Report 28873: Motorist recounts daylight sight... | \n", "30.31363 | \n", "-95.17966 | \n", "2007-11-15 | \n", "28873.0 | \n", "... | \n", "0.0000 | \n", "0.0 | \n", "NaN | \n", "1026.17 | \n", "Mostly cloudy in the morning. | \n", "5.0 | \n", "10.00 | \n", "358.0 | \n", "4.96 | \n", "POINT(-95.17966 30.31363) | \n", "
1287 | \n", "Something very unusual just happened to me th... | \n", "NaN | \n", "Major County | \n", "Oklahoma | \n", "Fall | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "26943.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1530 | \n", "Myself and my two cousins were out hunting. I... | \n", "It was near the Diamond Peak Wilderness area m... | \n", "Lane County | \n", "Oregon | \n", "Fall | \n", "Report 1778: Three young hunters hear very lou... | \n", "43.58830 | \n", "-122.08330 | \n", "2000-09-10 | \n", "1778.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "POINT(-122.0833 43.5883) | \n", "
4053 | \n", "While driving through the Ocala National Fores... | \n", "NaN | \n", "Putnam County | \n", "Florida | \n", "Spring | \n", "Report 35529: Daytime sighting by a motorist o... | \n", "29.49577 | \n", "-81.74579 | \n", "2010-06-07 | \n", "35529.0 | \n", "... | \n", "0.0000 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "Humid throughout the day. | \n", "0.0 | \n", "NaN | \n", "302.0 | \n", "1.72 | \n", "POINT(-81.74579 29.49577) | \n", "
2359 | \n", "I was camping on property I own on the Suiattl... | \n", "Riparian habitat | \n", "Skagit County | \n", "Washington | \n", "Summer | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "28577.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2959 | \n", "When I saw this creature, I was told not to te... | \n", "Far back in the mountains in eastern Kentucky.... | \n", "Martin County | \n", "Kentucky | \n", "Summer | \n", "Report 5678: Woman recalls childhood sighting ... | \n", "37.83777 | \n", "-82.43635 | \n", "1950-07-01 | \n", "5678.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "POINT(-82.43635 37.83777) | \n", "
1342 | \n", "I already submitted a report of this incident ... | \n", "Along the Wilson River a mile or so below the ... | \n", "Tillamook County | \n", "Oregon | \n", "Summer | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaT | \n", "691.0 | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
500 rows × 29 columns
\n", "