Spaces:
Sleeping
Sleeping
Update app.py with new dataset URL
Browse files
app.ipynb
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [
|
8 |
{
|
@@ -98,7 +98,7 @@
|
|
98 |
},
|
99 |
{
|
100 |
"cell_type": "code",
|
101 |
-
"execution_count":
|
102 |
"metadata": {},
|
103 |
"outputs": [],
|
104 |
"source": [
|
@@ -113,7 +113,7 @@
|
|
113 |
},
|
114 |
{
|
115 |
"cell_type": "code",
|
116 |
-
"execution_count":
|
117 |
"metadata": {},
|
118 |
"outputs": [
|
119 |
{
|
@@ -160,12 +160,12 @@
|
|
160 |
"data": {
|
161 |
"application/vnd.holoviews_exec.v0+json": "",
|
162 |
"text/html": [
|
163 |
-
"<div id='
|
164 |
-
" <div id=\"
|
165 |
"</div>\n",
|
166 |
"<script type=\"application/javascript\">(function(root) {\n",
|
167 |
-
" var docs_json = {\"
|
168 |
-
" var render_items = [{\"docid\":\"
|
169 |
" var docs = Object.values(docs_json)\n",
|
170 |
" if (!docs) {\n",
|
171 |
" return\n",
|
@@ -229,193 +229,60 @@
|
|
229 |
},
|
230 |
"metadata": {
|
231 |
"application/vnd.holoviews_exec.v0+json": {
|
232 |
-
"id": "
|
233 |
}
|
234 |
},
|
235 |
"output_type": "display_data"
|
236 |
-
},
|
237 |
-
{
|
238 |
-
"data": {
|
239 |
-
"text/html": [
|
240 |
-
"<div>\n",
|
241 |
-
"<style scoped>\n",
|
242 |
-
" .dataframe tbody tr th:only-of-type {\n",
|
243 |
-
" vertical-align: middle;\n",
|
244 |
-
" }\n",
|
245 |
-
"\n",
|
246 |
-
" .dataframe tbody tr th {\n",
|
247 |
-
" vertical-align: top;\n",
|
248 |
-
" }\n",
|
249 |
-
"\n",
|
250 |
-
" .dataframe thead th {\n",
|
251 |
-
" text-align: right;\n",
|
252 |
-
" }\n",
|
253 |
-
"</style>\n",
|
254 |
-
"<table border=\"1\" class=\"dataframe\">\n",
|
255 |
-
" <thead>\n",
|
256 |
-
" <tr style=\"text-align: right;\">\n",
|
257 |
-
" <th></th>\n",
|
258 |
-
" <th>Temperature</th>\n",
|
259 |
-
" <th>Humidity</th>\n",
|
260 |
-
" <th>Light</th>\n",
|
261 |
-
" <th>CO2</th>\n",
|
262 |
-
" <th>HumidityRatio</th>\n",
|
263 |
-
" <th>Occupancy</th>\n",
|
264 |
-
" </tr>\n",
|
265 |
-
" <tr>\n",
|
266 |
-
" <th>date</th>\n",
|
267 |
-
" <th></th>\n",
|
268 |
-
" <th></th>\n",
|
269 |
-
" <th></th>\n",
|
270 |
-
" <th></th>\n",
|
271 |
-
" <th></th>\n",
|
272 |
-
" <th></th>\n",
|
273 |
-
" </tr>\n",
|
274 |
-
" </thead>\n",
|
275 |
-
" <tbody>\n",
|
276 |
-
" <tr>\n",
|
277 |
-
" <th>2015-02-10 09:29:00</th>\n",
|
278 |
-
" <td>21.05</td>\n",
|
279 |
-
" <td>36.0975</td>\n",
|
280 |
-
" <td>433.0</td>\n",
|
281 |
-
" <td>787.250000</td>\n",
|
282 |
-
" <td>0.005579</td>\n",
|
283 |
-
" <td>1</td>\n",
|
284 |
-
" </tr>\n",
|
285 |
-
" <tr>\n",
|
286 |
-
" <th>2015-02-10 09:29:59</th>\n",
|
287 |
-
" <td>21.05</td>\n",
|
288 |
-
" <td>35.9950</td>\n",
|
289 |
-
" <td>433.0</td>\n",
|
290 |
-
" <td>789.500000</td>\n",
|
291 |
-
" <td>0.005563</td>\n",
|
292 |
-
" <td>1</td>\n",
|
293 |
-
" </tr>\n",
|
294 |
-
" <tr>\n",
|
295 |
-
" <th>2015-02-10 09:30:59</th>\n",
|
296 |
-
" <td>21.10</td>\n",
|
297 |
-
" <td>36.0950</td>\n",
|
298 |
-
" <td>433.0</td>\n",
|
299 |
-
" <td>798.500000</td>\n",
|
300 |
-
" <td>0.005596</td>\n",
|
301 |
-
" <td>1</td>\n",
|
302 |
-
" </tr>\n",
|
303 |
-
" <tr>\n",
|
304 |
-
" <th>2015-02-10 09:32:00</th>\n",
|
305 |
-
" <td>21.10</td>\n",
|
306 |
-
" <td>36.2600</td>\n",
|
307 |
-
" <td>433.0</td>\n",
|
308 |
-
" <td>820.333333</td>\n",
|
309 |
-
" <td>0.005621</td>\n",
|
310 |
-
" <td>1</td>\n",
|
311 |
-
" </tr>\n",
|
312 |
-
" <tr>\n",
|
313 |
-
" <th>2015-02-10 09:33:00</th>\n",
|
314 |
-
" <td>21.10</td>\n",
|
315 |
-
" <td>36.2000</td>\n",
|
316 |
-
" <td>447.0</td>\n",
|
317 |
-
" <td>821.000000</td>\n",
|
318 |
-
" <td>0.005612</td>\n",
|
319 |
-
" <td>1</td>\n",
|
320 |
-
" </tr>\n",
|
321 |
-
" </tbody>\n",
|
322 |
-
"</table>\n",
|
323 |
-
"</div>"
|
324 |
-
],
|
325 |
-
"text/plain": [
|
326 |
-
" Temperature Humidity Light CO2 HumidityRatio \\\n",
|
327 |
-
"date \n",
|
328 |
-
"2015-02-10 09:29:00 21.05 36.0975 433.0 787.250000 0.005579 \n",
|
329 |
-
"2015-02-10 09:29:59 21.05 35.9950 433.0 789.500000 0.005563 \n",
|
330 |
-
"2015-02-10 09:30:59 21.10 36.0950 433.0 798.500000 0.005596 \n",
|
331 |
-
"2015-02-10 09:32:00 21.10 36.2600 433.0 820.333333 0.005621 \n",
|
332 |
-
"2015-02-10 09:33:00 21.10 36.2000 447.0 821.000000 0.005612 \n",
|
333 |
-
"\n",
|
334 |
-
" Occupancy \n",
|
335 |
-
"date \n",
|
336 |
-
"2015-02-10 09:29:00 1 \n",
|
337 |
-
"2015-02-10 09:29:59 1 \n",
|
338 |
-
"2015-02-10 09:30:59 1 \n",
|
339 |
-
"2015-02-10 09:32:00 1 \n",
|
340 |
-
"2015-02-10 09:33:00 1 "
|
341 |
-
]
|
342 |
-
},
|
343 |
-
"execution_count": 93,
|
344 |
-
"metadata": {},
|
345 |
-
"output_type": "execute_result"
|
346 |
}
|
347 |
],
|
348 |
"source": [
|
349 |
"# | export\n",
|
350 |
"pn.extension(\n",
|
351 |
" template=\"fast\",\n",
|
352 |
-
")\n"
|
353 |
-
"\n",
|
354 |
-
"csv_file = (\"https://raw.githubusercontent.com/holoviz/panel/main/examples/assets/occupancy.csv\")\n",
|
355 |
-
"data = pd.read_csv(csv_file, parse_dates=[\"date\"], index_col=\"date\")\n",
|
356 |
-
"\n",
|
357 |
-
"data.tail()"
|
358 |
]
|
359 |
},
|
360 |
{
|
361 |
"cell_type": "code",
|
362 |
-
"execution_count":
|
363 |
"metadata": {},
|
364 |
"outputs": [],
|
365 |
"source": [
|
366 |
-
"
|
367 |
-
"
|
368 |
-
"
|
369 |
-
" avg = data[variable].rolling(window=window).mean()\n",
|
370 |
-
" residual = data[variable] - avg\n",
|
371 |
-
" std = residual.rolling(window=window).std()\n",
|
372 |
-
" outliers = np.abs(residual) > std * sigma\n",
|
373 |
-
" return avg, avg[outliers]\n",
|
374 |
-
"\n",
|
375 |
-
"def create_plot(variable=\"Temperature\", window=30, sigma=10):\n",
|
376 |
-
" ''' Plots the rolling average and the outliers '''\n",
|
377 |
-
" avg, highlight = transform_data(variable, window, sigma)\n",
|
378 |
-
" return avg.hvplot(height=300, width=400, legend=False) * highlight.hvplot.scatter(\n",
|
379 |
-
" color=\"orange\", padding=0.1, legend=False\n",
|
380 |
-
" )"
|
381 |
-
]
|
382 |
-
},
|
383 |
-
{
|
384 |
-
"cell_type": "code",
|
385 |
-
"execution_count": 95,
|
386 |
-
"metadata": {},
|
387 |
-
"outputs": [],
|
388 |
-
"source": [
|
389 |
-
"#|export\n",
|
390 |
-
"variable_widget = pn.widgets.Select(name=\"variable\", value=\"Temperature\", options=list(data.columns))\n",
|
391 |
-
"window_widget = pn.widgets.IntSlider(name=\"window\", value=30, start=1, end=60)\n",
|
392 |
-
"sigma_widget = pn.widgets.IntSlider(name=\"sigma\", value=10, start=0, end=20)"
|
393 |
-
]
|
394 |
-
},
|
395 |
-
{
|
396 |
-
"cell_type": "code",
|
397 |
-
"execution_count": 96,
|
398 |
-
"metadata": {},
|
399 |
-
"outputs": [],
|
400 |
-
"source": [
|
401 |
-
"#|export\n",
|
402 |
-
"bound_plot = pn.bind(create_plot, variable=variable_widget, window=window_widget, sigma=sigma_widget)"
|
403 |
]
|
404 |
},
|
405 |
{
|
406 |
"cell_type": "code",
|
407 |
-
"execution_count":
|
408 |
"metadata": {},
|
409 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
"source": [
|
411 |
-
"
|
412 |
-
"
|
413 |
-
"pn.Row(
|
414 |
]
|
415 |
},
|
416 |
{
|
417 |
"cell_type": "code",
|
418 |
-
"execution_count":
|
419 |
"metadata": {},
|
420 |
"outputs": [],
|
421 |
"source": [
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 121,
|
6 |
"metadata": {},
|
7 |
"outputs": [
|
8 |
{
|
|
|
98 |
},
|
99 |
{
|
100 |
"cell_type": "code",
|
101 |
+
"execution_count": 122,
|
102 |
"metadata": {},
|
103 |
"outputs": [],
|
104 |
"source": [
|
|
|
113 |
},
|
114 |
{
|
115 |
"cell_type": "code",
|
116 |
+
"execution_count": 123,
|
117 |
"metadata": {},
|
118 |
"outputs": [
|
119 |
{
|
|
|
160 |
"data": {
|
161 |
"application/vnd.holoviews_exec.v0+json": "",
|
162 |
"text/html": [
|
163 |
+
"<div id='a964c7e5-8114-462f-ad64-8656b8a9812c'>\n",
|
164 |
+
" <div id=\"d3fca624-a674-49b9-8d92-2bd4ee95035f\" data-root-id=\"a964c7e5-8114-462f-ad64-8656b8a9812c\" style=\"display: contents;\"></div>\n",
|
165 |
"</div>\n",
|
166 |
"<script type=\"application/javascript\">(function(root) {\n",
|
167 |
+
" var docs_json = {\"aee097b3-2f0a-453f-8826-660fcfc488d5\":{\"version\":\"3.3.4\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"panel.models.browser.BrowserInfo\",\"id\":\"a964c7e5-8114-462f-ad64-8656b8a9812c\"},{\"type\":\"object\",\"name\":\"panel.models.comm_manager.CommManager\",\"id\":\"452b80d0-cfde-49b0-b615-e5b50f878e9e\",\"attributes\":{\"plot_id\":\"a964c7e5-8114-462f-ad64-8656b8a9812c\",\"comm_id\":\"7b5fc50b38af4747aa22865290defeb5\",\"client_comm_id\":\"4fd191d5d08d463a948de162e665a26a\"}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"copy_to_clipboard1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]}]}};\n",
|
168 |
+
" var render_items = [{\"docid\":\"aee097b3-2f0a-453f-8826-660fcfc488d5\",\"roots\":{\"a964c7e5-8114-462f-ad64-8656b8a9812c\":\"d3fca624-a674-49b9-8d92-2bd4ee95035f\"},\"root_ids\":[\"a964c7e5-8114-462f-ad64-8656b8a9812c\"]}];\n",
|
169 |
" var docs = Object.values(docs_json)\n",
|
170 |
" if (!docs) {\n",
|
171 |
" return\n",
|
|
|
229 |
},
|
230 |
"metadata": {
|
231 |
"application/vnd.holoviews_exec.v0+json": {
|
232 |
+
"id": "a964c7e5-8114-462f-ad64-8656b8a9812c"
|
233 |
}
|
234 |
},
|
235 |
"output_type": "display_data"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
}
|
237 |
],
|
238 |
"source": [
|
239 |
"# | export\n",
|
240 |
"pn.extension(\n",
|
241 |
" template=\"fast\",\n",
|
242 |
+
")\n"
|
|
|
|
|
|
|
|
|
|
|
243 |
]
|
244 |
},
|
245 |
{
|
246 |
"cell_type": "code",
|
247 |
+
"execution_count": 124,
|
248 |
"metadata": {},
|
249 |
"outputs": [],
|
250 |
"source": [
|
251 |
+
"# | export\n",
|
252 |
+
"url = pn.widgets.TextInput(name=\"url\", placeholder=\"Enter the url of the dataset\", value=\"https://raw.githubusercontent.com/holoviz/panel/main/examples/assets/occupancy.csv\")\n",
|
253 |
+
"pn.Row(url).servable(target=\"sidebar\");\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
]
|
255 |
},
|
256 |
{
|
257 |
"cell_type": "code",
|
258 |
+
"execution_count": 125,
|
259 |
"metadata": {},
|
260 |
+
"outputs": [
|
261 |
+
{
|
262 |
+
"data": {
|
263 |
+
"application/vnd.jupyter.widget-view+json": {
|
264 |
+
"model_id": "c0bae5fceeee417d8482d5bd92567ad4",
|
265 |
+
"version_major": 2,
|
266 |
+
"version_minor": 0
|
267 |
+
},
|
268 |
+
"text/plain": [
|
269 |
+
"BokehModel(combine_events=True, render_bundle={'docs_json': {'539dfb87-5515-4fa5-9d41-115c5f634125': {'version…"
|
270 |
+
]
|
271 |
+
},
|
272 |
+
"execution_count": 125,
|
273 |
+
"metadata": {},
|
274 |
+
"output_type": "execute_result"
|
275 |
+
}
|
276 |
+
],
|
277 |
"source": [
|
278 |
+
"# | export\n",
|
279 |
+
"dataset = pd.read_csv(url.value)\n",
|
280 |
+
"pn.Row(dataset.head().hvplot().opts(width=800, height=400)).servable(target=\"main\")"
|
281 |
]
|
282 |
},
|
283 |
{
|
284 |
"cell_type": "code",
|
285 |
+
"execution_count": 126,
|
286 |
"metadata": {},
|
287 |
"outputs": [],
|
288 |
"source": [
|
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
# AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
|
2 |
|
3 |
# %% auto 0
|
4 |
-
__all__ = ['
|
5 |
|
6 |
# %% app.ipynb 1
|
7 |
import panel as pn
|
@@ -16,35 +16,12 @@ pn.extension(
|
|
16 |
template="fast",
|
17 |
)
|
18 |
|
19 |
-
csv_file = ("https://raw.githubusercontent.com/holoviz/panel/main/examples/assets/occupancy.csv")
|
20 |
-
data = pd.read_csv(csv_file, parse_dates=["date"], index_col="date")
|
21 |
-
|
22 |
-
data.tail()
|
23 |
|
24 |
# %% app.ipynb 3
|
25 |
-
|
26 |
-
|
27 |
-
avg = data[variable].rolling(window=window).mean()
|
28 |
-
residual = data[variable] - avg
|
29 |
-
std = residual.rolling(window=window).std()
|
30 |
-
outliers = np.abs(residual) > std * sigma
|
31 |
-
return avg, avg[outliers]
|
32 |
-
|
33 |
-
def create_plot(variable="Temperature", window=30, sigma=10):
|
34 |
-
''' Plots the rolling average and the outliers '''
|
35 |
-
avg, highlight = transform_data(variable, window, sigma)
|
36 |
-
return avg.hvplot(height=300, width=400, legend=False) * highlight.hvplot.scatter(
|
37 |
-
color="orange", padding=0.1, legend=False
|
38 |
-
)
|
39 |
-
|
40 |
-
# %% app.ipynb 4
|
41 |
-
variable_widget = pn.widgets.Select(name="variable", value="Temperature", options=list(data.columns))
|
42 |
-
window_widget = pn.widgets.IntSlider(name="window", value=30, start=1, end=60)
|
43 |
-
sigma_widget = pn.widgets.IntSlider(name="sigma", value=10, start=0, end=20)
|
44 |
|
45 |
-
# %% app.ipynb 5
|
46 |
-
bound_plot = pn.bind(create_plot, variable=variable_widget, window=window_widget, sigma=sigma_widget)
|
47 |
|
48 |
-
# %% app.ipynb
|
49 |
-
|
50 |
-
pn.Row(
|
|
|
1 |
# AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
|
2 |
|
3 |
# %% auto 0
|
4 |
+
__all__ = ['url', 'dataset']
|
5 |
|
6 |
# %% app.ipynb 1
|
7 |
import panel as pn
|
|
|
16 |
template="fast",
|
17 |
)
|
18 |
|
|
|
|
|
|
|
|
|
19 |
|
20 |
# %% app.ipynb 3
|
21 |
+
url = pn.widgets.TextInput(name="url", placeholder="Enter the url of the dataset", value="https://raw.githubusercontent.com/holoviz/panel/main/examples/assets/occupancy.csv")
|
22 |
+
pn.Row(url).servable(target="sidebar");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
24 |
|
25 |
+
# %% app.ipynb 4
|
26 |
+
dataset = pd.read_csv(url.value)
|
27 |
+
pn.Row(dataset.head().hvplot().opts(width=800, height=400)).servable(target="main")
|