Added Dashboard code
diff --git a/Dashboard/app.py b/Dashboard/app.py
new file mode 100644
index 0000000..c830c6b
--- /dev/null
+++ b/Dashboard/app.py
@@ -0,0 +1,74 @@
+from matplotlib.colors import LightSource
+import dash
+from dash import dcc, html, Output, Input, State
+import dash_labs as dl
+import dash_bootstrap_components as dbc
+from pages import upload
+
+app = dash.Dash(
+ __name__, plugins=[dl.plugins.pages], suppress_callback_exceptions=True,external_stylesheets=[dbc.themes.BOOTSTRAP]
+)
+navbar = dbc.NavbarSimple(
+ children=[
+ dbc.NavItem(dbc.NavLink("Page 1", href="#")),
+ dbc.DropdownMenu(
+ children=[
+ dbc.DropdownMenuItem("More pages", header=True),
+ dbc.DropdownMenuItem("Upload", href="/upload"),
+ dbc.DropdownMenuItem("Page 3", href="#"),
+ ],
+ nav=True,
+ in_navbar=True,
+ label="More",
+ ),
+ ],
+ brand="NavbarSimple",
+ brand_href="#",
+ color="primary",
+ dark=True,
+)
+
+offcanvas = html.Div(
+ [
+ dbc.Button("Menu", color="light", id="open-offcanvas", n_clicks=0),
+ dbc.Offcanvas(
+ dbc.ListGroup(
+ [
+ #dbc.ListGroupItem(dcc.Link('Home',href ="/Home")),
+
+
+ dbc.ListGroupItem(page["name"], href=page["path"])
+ for page in dash.page_registry.values()
+ if page["module"] != "pages.not_found_404"
+
+ ]
+
+ ),
+ id="offcanvas",
+ is_open=False,
+ ),
+
+ ],
+ className="my-3"
+)
+
+app.layout = html.Div([
+ #navbar,
+ dbc.Container([offcanvas, dl.plugins.page_container],
+ fluid=True,
+)])
+
+
+@app.callback(
+ Output("offcanvas", "is_open"),
+ Input("open-offcanvas", "n_clicks"),
+ [State("offcanvas", "is_open")],
+)
+def toggle_offcanvas(n1, is_open):
+ if n1:
+ return not is_open
+ return is_open
+
+
+if __name__ == "__main__":
+ app.run_server(debug=True, port=5000)
\ No newline at end of file
diff --git a/Dashboard/example_segments.csv b/Dashboard/example_segments.csv
new file mode 100644
index 0000000..84bc495
--- /dev/null
+++ b/Dashboard/example_segments.csv
@@ -0,0 +1,325 @@
+Segment Name,Start Time,End Time,Number of Logs,Generate Field Name,Generate Matched Values,Segment Type
+fixed_time0,2021-06-14 17:31:30.656000,2021-06-14 17:31:35.656000,3,,,Segment_Type.FIXED_TIME
+fixed_time2,2021-06-14 17:31:40.656000,2021-06-14 17:31:45.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time3,2021-06-14 17:31:45.656000,2021-06-14 17:31:50.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time4,2021-06-14 17:31:50.656000,2021-06-14 17:31:55.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time5,2021-06-14 17:31:55.656000,2021-06-14 17:32:00.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time6,2021-06-14 17:32:00.656000,2021-06-14 17:32:05.656000,6,,,Segment_Type.FIXED_TIME
+fixed_time11,2021-06-14 17:32:25.656000,2021-06-14 17:32:30.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time12,2021-06-14 17:32:30.656000,2021-06-14 17:32:35.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time13,2021-06-14 17:32:35.656000,2021-06-14 17:32:40.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time14,2021-06-14 17:32:40.656000,2021-06-14 17:32:45.656000,19,,,Segment_Type.FIXED_TIME
+fixed_time16,2021-06-14 17:32:50.656000,2021-06-14 17:32:55.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time37,2021-06-14 17:34:35.656000,2021-06-14 17:34:40.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time38,2021-06-14 17:34:40.656000,2021-06-14 17:34:45.656000,24,,,Segment_Type.FIXED_TIME
+fixed_time39,2021-06-14 17:34:45.656000,2021-06-14 17:34:50.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time40,2021-06-14 17:34:50.656000,2021-06-14 17:34:55.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time41,2021-06-14 17:34:55.656000,2021-06-14 17:35:00.656000,4,,,Segment_Type.FIXED_TIME
+fixed_time65,2021-06-14 17:36:55.656000,2021-06-14 17:37:00.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time66,2021-06-14 17:37:00.656000,2021-06-14 17:37:05.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time67,2021-06-14 17:37:05.656000,2021-06-14 17:37:10.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time68,2021-06-14 17:37:10.656000,2021-06-14 17:37:15.656000,30,,,Segment_Type.FIXED_TIME
+fixed_time69,2021-06-14 17:37:15.656000,2021-06-14 17:37:20.656000,14,,,Segment_Type.FIXED_TIME
+fixed_time70,2021-06-14 17:37:20.656000,2021-06-14 17:37:25.656000,4,,,Segment_Type.FIXED_TIME
+fixed_time71,2021-06-14 17:37:25.656000,2021-06-14 17:37:30.656000,17,,,Segment_Type.FIXED_TIME
+fixed_time72,2021-06-14 17:37:30.656000,2021-06-14 17:37:35.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time73,2021-06-14 17:37:35.656000,2021-06-14 17:37:40.656000,16,,,Segment_Type.FIXED_TIME
+fixed_time74,2021-06-14 17:37:40.656000,2021-06-14 17:37:45.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time75,2021-06-14 17:37:45.656000,2021-06-14 17:37:50.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time76,2021-06-14 17:37:50.656000,2021-06-14 17:37:55.656000,5,,,Segment_Type.FIXED_TIME
+fixed_time94,2021-06-14 17:39:20.656000,2021-06-14 17:39:25.656000,3,,,Segment_Type.FIXED_TIME
+fixed_time95,2021-06-14 17:39:25.656000,2021-06-14 17:39:30.656000,24,,,Segment_Type.FIXED_TIME
+fixed_time110,2021-06-14 17:40:40.656000,2021-06-14 17:40:45.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time111,2021-06-14 17:40:45.656000,2021-06-14 17:40:50.656000,23,,,Segment_Type.FIXED_TIME
+fixed_time112,2021-06-14 17:40:50.656000,2021-06-14 17:40:55.656000,21,,,Segment_Type.FIXED_TIME
+fixed_time113,2021-06-14 17:40:55.656000,2021-06-14 17:41:00.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time114,2021-06-14 17:41:00.656000,2021-06-14 17:41:05.656000,32,,,Segment_Type.FIXED_TIME
+fixed_time115,2021-06-14 17:41:05.656000,2021-06-14 17:41:10.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time116,2021-06-14 17:41:10.656000,2021-06-14 17:41:15.656000,6,,,Segment_Type.FIXED_TIME
+fixed_time117,2021-06-14 17:41:15.656000,2021-06-14 17:41:20.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time118,2021-06-14 17:41:20.656000,2021-06-14 17:41:25.656000,5,,,Segment_Type.FIXED_TIME
+fixed_time183,2021-06-14 17:46:45.656000,2021-06-14 17:46:50.656000,25,,,Segment_Type.FIXED_TIME
+fixed_time184,2021-06-14 17:46:50.656000,2021-06-14 17:46:55.656000,18,,,Segment_Type.FIXED_TIME
+deadspace0,2021-06-14 17:31:32.888000,2021-06-14 17:31:44.212000,3,,,Segment_Type.DEADSPACE
+deadspace1,2021-06-14 17:32:02.979000,2021-06-14 17:32:27.444000,2,,,Segment_Type.DEADSPACE
+deadspace2,2021-06-14 17:32:46.162000,2021-06-14 17:32:52.065000,4,,,Segment_Type.DEADSPACE
+deadspace3,2021-06-14 17:32:57.375000,2021-06-14 17:34:30.255000,2,,,Segment_Type.DEADSPACE
+deadspace4,2021-06-14 17:34:30.255000,2021-06-14 17:34:38.186000,2,,,Segment_Type.DEADSPACE
+deadspace5,2021-06-14 17:34:54.619000,2021-06-14 17:34:59.824000,3,,,Segment_Type.DEADSPACE
+deadspace6,2021-06-14 17:35:00.742000,2021-06-14 17:36:53.063000,2,,,Segment_Type.DEADSPACE
+deadspace7,2021-06-14 17:37:21.860000,2021-06-14 17:37:27.061000,2,,,Segment_Type.DEADSPACE
+deadspace8,2021-06-14 17:37:53.116000,2021-06-14 17:38:12.747000,2,,,Segment_Type.DEADSPACE
+deadspace9,2021-06-14 17:38:12.747000,2021-06-14 17:39:24.440000,2,,,Segment_Type.DEADSPACE
+deadspace10,2021-06-14 17:39:29.337000,2021-06-14 17:39:36.862000,3,,,Segment_Type.DEADSPACE
+deadspace11,2021-06-14 17:39:37.980000,2021-06-14 17:40:33.625000,2,,,Segment_Type.DEADSPACE
+deadspace12,2021-06-14 17:40:33.625000,2021-06-14 17:40:42.844000,2,,,Segment_Type.DEADSPACE
+deadspace13,2021-06-14 17:41:21.838000,2021-06-14 17:46:44.112000,2,,,Segment_Type.DEADSPACE
+generated0,2021-06-14 17:31:43.212000,2021-06-14 17:31:45.212000,9,type,['click'],Segment_Type.GENERATE
+generated1,2021-06-14 17:31:45.212000,2021-06-14 17:31:46.955000,1,type,['click'],Segment_Type.GENERATE
+generated2,2021-06-14 17:31:46.955000,2021-06-14 17:31:48.135000,5,type,['click'],Segment_Type.GENERATE
+generated3,2021-06-14 17:31:48.728000,2021-06-14 17:31:50.728000,2,type,['click'],Segment_Type.GENERATE
+generated4,2021-06-14 17:31:51.239000,2021-06-14 17:31:53.239000,4,type,['click'],Segment_Type.GENERATE
+generated5,2021-06-14 17:31:53.710000,2021-06-14 17:31:55.710000,5,type,['click'],Segment_Type.GENERATE
+generated6,2021-06-14 17:31:55.710000,2021-06-14 17:31:56.888000,4,type,['click'],Segment_Type.GENERATE
+generated7,2021-06-14 17:31:57.726000,2021-06-14 17:31:59.726000,2,type,['click'],Segment_Type.GENERATE
+generated8,2021-06-14 17:32:00.067000,2021-06-14 17:32:02.067000,2,type,['click'],Segment_Type.GENERATE
+generated9,2021-06-14 17:32:02.067000,2021-06-14 17:32:03.850000,5,type,['click'],Segment_Type.GENERATE
+generated10,2021-06-14 17:32:26.444000,2021-06-14 17:32:28.444000,2,type,['click'],Segment_Type.GENERATE
+generated11,2021-06-14 17:32:28.494000,2021-06-14 17:32:30.494000,7,type,['click'],Segment_Type.GENERATE
+generated12,2021-06-14 17:32:30.494000,2021-06-14 17:32:32.406000,3,type,['click'],Segment_Type.GENERATE
+generated13,2021-06-14 17:32:32.406000,2021-06-14 17:32:33.468000,3,type,['click'],Segment_Type.GENERATE
+generated14,2021-06-14 17:32:33.468000,2021-06-14 17:32:34.715000,3,type,['click'],Segment_Type.GENERATE
+generated15,2021-06-14 17:32:34.715000,2021-06-14 17:32:35.816000,3,type,['click'],Segment_Type.GENERATE
+generated16,2021-06-14 17:32:35.816000,2021-06-14 17:32:36.899000,2,type,['click'],Segment_Type.GENERATE
+generated17,2021-06-14 17:32:37.182000,2021-06-14 17:32:39.182000,4,type,['click'],Segment_Type.GENERATE
+generated18,2021-06-14 17:32:41.124000,2021-06-14 17:32:43.124000,8,type,['click'],Segment_Type.GENERATE
+generated19,2021-06-14 17:32:43.124000,2021-06-14 17:32:44.234000,2,type,['click'],Segment_Type.GENERATE
+generated20,2021-06-14 17:32:44.234000,2021-06-14 17:32:45.508000,6,type,['click'],Segment_Type.GENERATE
+generated21,2021-06-14 17:32:45.508000,2021-06-14 17:32:46.579000,3,type,['click'],Segment_Type.GENERATE
+generated22,2021-06-14 17:32:51.065000,2021-06-14 17:32:53.065000,5,type,['click'],Segment_Type.GENERATE
+generated23,2021-06-14 17:32:54.299000,2021-06-14 17:32:56.299000,2,type,['click'],Segment_Type.GENERATE
+generated24,2021-06-14 17:34:29.255000,2021-06-14 17:34:31.255000,1,type,['click'],Segment_Type.GENERATE
+generated25,2021-06-14 17:34:37.186000,2021-06-14 17:34:39.186000,5,type,['click'],Segment_Type.GENERATE
+generated26,2021-06-14 17:34:39.186000,2021-06-14 17:34:40.214000,3,type,['click'],Segment_Type.GENERATE
+generated27,2021-06-14 17:34:40.214000,2021-06-14 17:34:41.457000,4,type,['click'],Segment_Type.GENERATE
+generated28,2021-06-14 17:34:41.457000,2021-06-14 17:34:42.659000,5,type,['click'],Segment_Type.GENERATE
+generated29,2021-06-14 17:34:42.659000,2021-06-14 17:34:43.708000,9,type,['click'],Segment_Type.GENERATE
+generated30,2021-06-14 17:34:43.708000,2021-06-14 17:34:44.870000,4,type,['click'],Segment_Type.GENERATE
+generated31,2021-06-14 17:34:44.870000,2021-06-14 17:34:45.982000,4,type,['click'],Segment_Type.GENERATE
+generated32,2021-06-14 17:34:45.982000,2021-06-14 17:34:47.424000,4,type,['click'],Segment_Type.GENERATE
+generated33,2021-06-14 17:34:47.978000,2021-06-14 17:34:49.978000,5,type,['click'],Segment_Type.GENERATE
+generated34,2021-06-14 17:34:49.978000,2021-06-14 17:34:51.786000,1,type,['click'],Segment_Type.GENERATE
+generated35,2021-06-14 17:34:51.991000,2021-06-14 17:34:53.991000,5,type,['click'],Segment_Type.GENERATE
+generated36,2021-06-14 17:34:53.991000,2021-06-14 17:34:55.619000,1,type,['click'],Segment_Type.GENERATE
+generated37,2021-06-14 17:34:58.824000,2021-06-14 17:35:00.824000,5,type,['click'],Segment_Type.GENERATE
+generated38,2021-06-14 17:36:52.063000,2021-06-14 17:36:54.063000,2,type,['click'],Segment_Type.GENERATE
+generated39,2021-06-14 17:36:55.065000,2021-06-14 17:36:57.065000,2,type,['click'],Segment_Type.GENERATE
+generated40,2021-06-14 17:36:58.216000,2021-06-14 17:37:00.216000,6,type,['click'],Segment_Type.GENERATE
+generated41,2021-06-14 17:37:00.216000,2021-06-14 17:37:02.172000,1,type,['click'],Segment_Type.GENERATE
+generated42,2021-06-14 17:37:02.209000,2021-06-14 17:37:04.209000,6,type,['click'],Segment_Type.GENERATE
+generated43,2021-06-14 17:37:04.209000,2021-06-14 17:37:06.114000,1,type,['click'],Segment_Type.GENERATE
+generated44,2021-06-14 17:37:07.768000,2021-06-14 17:37:09.768000,5,type,['click'],Segment_Type.GENERATE
+generated45,2021-06-14 17:37:09.768000,2021-06-14 17:37:11.181000,14,type,['click'],Segment_Type.GENERATE
+generated46,2021-06-14 17:37:11.181000,2021-06-14 17:37:12.257000,4,type,['click'],Segment_Type.GENERATE
+generated47,2021-06-14 17:37:12.257000,2021-06-14 17:37:13.427000,11,type,['click'],Segment_Type.GENERATE
+generated48,2021-06-14 17:37:13.427000,2021-06-14 17:37:15.291000,4,type,['click'],Segment_Type.GENERATE
+generated49,2021-06-14 17:37:15.291000,2021-06-14 17:37:16.534000,2,type,['click'],Segment_Type.GENERATE
+generated50,2021-06-14 17:37:16.534000,2021-06-14 17:37:17.606000,3,type,['click'],Segment_Type.GENERATE
+generated51,2021-06-14 17:37:17.606000,2021-06-14 17:37:19.054000,3,type,['click'],Segment_Type.GENERATE
+generated52,2021-06-14 17:37:19.054000,2021-06-14 17:37:20.363000,5,type,['click'],Segment_Type.GENERATE
+generated53,2021-06-14 17:37:20.363000,2021-06-14 17:37:21.597000,4,type,['click'],Segment_Type.GENERATE
+generated54,2021-06-14 17:37:21.597000,2021-06-14 17:37:22.859000,2,type,['click'],Segment_Type.GENERATE
+generated55,2021-06-14 17:37:26.061000,2021-06-14 17:37:28.061000,3,type,['click'],Segment_Type.GENERATE
+generated56,2021-06-14 17:37:28.190000,2021-06-14 17:37:30.190000,14,type,['click'],Segment_Type.GENERATE
+generated57,2021-06-14 17:37:30.218000,2021-06-14 17:37:32.218000,2,type,['click'],Segment_Type.GENERATE
+generated58,2021-06-14 17:37:32.218000,2021-06-14 17:37:34.143000,5,type,['click'],Segment_Type.GENERATE
+generated59,2021-06-14 17:37:34.143000,2021-06-14 17:37:35.311000,5,type,['click'],Segment_Type.GENERATE
+generated60,2021-06-14 17:37:35.311000,2021-06-14 17:37:36.821000,6,type,['click'],Segment_Type.GENERATE
+generated61,2021-06-14 17:37:36.821000,2021-06-14 17:37:37.973000,3,type,['click'],Segment_Type.GENERATE
+generated62,2021-06-14 17:37:37.973000,2021-06-14 17:37:39.348000,3,type,['click'],Segment_Type.GENERATE
+generated63,2021-06-14 17:37:39.348000,2021-06-14 17:37:40.374000,3,type,['click'],Segment_Type.GENERATE
+generated64,2021-06-14 17:37:40.374000,2021-06-14 17:37:41.399000,3,type,['click'],Segment_Type.GENERATE
+generated65,2021-06-14 17:37:41.399000,2021-06-14 17:37:43.232000,1,type,['click'],Segment_Type.GENERATE
+generated66,2021-06-14 17:37:43.232000,2021-06-14 17:37:44.737000,5,type,['click'],Segment_Type.GENERATE
+generated67,2021-06-14 17:37:44.737000,2021-06-14 17:37:46.674000,1,type,['click'],Segment_Type.GENERATE
+generated68,2021-06-14 17:37:47.147000,2021-06-14 17:37:49.147000,6,type,['click'],Segment_Type.GENERATE
+generated69,2021-06-14 17:37:51.971000,2021-06-14 17:37:53.971000,5,type,['click'],Segment_Type.GENERATE
+generated70,2021-06-14 17:39:23.440000,2021-06-14 17:39:25.440000,3,type,['click'],Segment_Type.GENERATE
+generated71,2021-06-14 17:39:25.440000,2021-06-14 17:39:27.277000,17,type,['click'],Segment_Type.GENERATE
+generated72,2021-06-14 17:39:27.277000,2021-06-14 17:39:28.374000,2,type,['click'],Segment_Type.GENERATE
+generated73,2021-06-14 17:39:35.862000,2021-06-14 17:39:37.862000,1,type,['click'],Segment_Type.GENERATE
+generated74,2021-06-14 17:39:37.862000,2021-06-14 17:39:38.980000,1,type,['click'],Segment_Type.GENERATE
+generated75,2021-06-14 17:40:41.844000,2021-06-14 17:40:43.844000,4,type,['click'],Segment_Type.GENERATE
+generated76,2021-06-14 17:40:43.844000,2021-06-14 17:40:44.962000,4,type,['click'],Segment_Type.GENERATE
+generated77,2021-06-14 17:40:45.889000,2021-06-14 17:40:47.889000,4,type,['click'],Segment_Type.GENERATE
+generated78,2021-06-14 17:40:47.889000,2021-06-14 17:40:48.989000,5,type,['click'],Segment_Type.GENERATE
+generated79,2021-06-14 17:40:48.989000,2021-06-14 17:40:50.686000,14,type,['click'],Segment_Type.GENERATE
+generated80,2021-06-14 17:40:50.686000,2021-06-14 17:40:51.824000,5,type,['click'],Segment_Type.GENERATE
+generated81,2021-06-14 17:40:51.824000,2021-06-14 17:40:53.134000,4,type,['click'],Segment_Type.GENERATE
+generated82,2021-06-14 17:40:53.134000,2021-06-14 17:40:54.281000,6,type,['click'],Segment_Type.GENERATE
+generated83,2021-06-14 17:40:54.281000,2021-06-14 17:40:55.587000,6,type,['click'],Segment_Type.GENERATE
+generated84,2021-06-14 17:40:55.587000,2021-06-14 17:40:57.333000,9,type,['click'],Segment_Type.GENERATE
+generated85,2021-06-14 17:40:57.768000,2021-06-14 17:40:59.768000,2,type,['click'],Segment_Type.GENERATE
+generated86,2021-06-14 17:40:59.768000,2021-06-14 17:41:00.911000,1,type,['click'],Segment_Type.GENERATE
+generated87,2021-06-14 17:41:00.911000,2021-06-14 17:41:02.314000,5,type,['click'],Segment_Type.GENERATE
+generated88,2021-06-14 17:41:02.314000,2021-06-14 17:41:04.284000,10,type,['click'],Segment_Type.GENERATE
+generated89,2021-06-14 17:41:04.284000,2021-06-14 17:41:05.338000,17,type,['click'],Segment_Type.GENERATE
+generated90,2021-06-14 17:41:05.338000,2021-06-14 17:41:07.170000,1,type,['click'],Segment_Type.GENERATE
+generated91,2021-06-14 17:41:07.723000,2021-06-14 17:41:09.723000,5,type,['click'],Segment_Type.GENERATE
+generated92,2021-06-14 17:41:09.723000,2021-06-14 17:41:11.404000,1,type,['click'],Segment_Type.GENERATE
+generated93,2021-06-14 17:41:12.675000,2021-06-14 17:41:14.675000,6,type,['click'],Segment_Type.GENERATE
+generated94,2021-06-14 17:41:14.986000,2021-06-14 17:41:16.986000,2,type,['click'],Segment_Type.GENERATE
+generated95,2021-06-14 17:41:16.986000,2021-06-14 17:41:18.023000,3,type,['click'],Segment_Type.GENERATE
+generated96,2021-06-14 17:41:18.023000,2021-06-14 17:41:19.509000,3,type,['click'],Segment_Type.GENERATE
+generated97,2021-06-14 17:41:19.509000,2021-06-14 17:41:20.976000,4,type,['click'],Segment_Type.GENERATE
+generated98,2021-06-14 17:41:20.976000,2021-06-14 17:41:22.399000,3,type,['click'],Segment_Type.GENERATE
+generated99,2021-06-14 17:46:43.112000,2021-06-14 17:46:45.112000,2,type,['click'],Segment_Type.GENERATE
+generated100,2021-06-14 17:46:46.034000,2021-06-14 17:46:48.034000,2,type,['click'],Segment_Type.GENERATE
+generated101,2021-06-14 17:46:48.034000,2021-06-14 17:46:49.404000,20,type,['click'],Segment_Type.GENERATE
+generated102,2021-06-14 17:46:49.567000,2021-06-14 17:46:51.567000,3,type,['click'],Segment_Type.GENERATE
+generated103,2021-06-14 17:46:51.567000,2021-06-14 17:46:52.776000,9,type,['click'],Segment_Type.GENERATE
+generated104,2021-06-14 17:46:52.776000,2021-06-14 17:46:53.831000,5,type,['click'],Segment_Type.GENERATE
+generated105,2021-06-14 17:46:53.831000,2021-06-14 17:46:55.374000,3,type,['click'],Segment_Type.GENERATE
+generated106,2021-06-14 17:46:55.434000,2021-06-14 17:46:57.434000,1,type,['click'],Segment_Type.GENERATE
+fixed_time0,2021-06-14 17:31:30.656000,2021-06-14 17:31:35.656000,3,,,Segment_Type.FIXED_TIME
+fixed_time2,2021-06-14 17:31:40.656000,2021-06-14 17:31:45.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time3,2021-06-14 17:31:45.656000,2021-06-14 17:31:50.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time4,2021-06-14 17:31:50.656000,2021-06-14 17:31:55.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time5,2021-06-14 17:31:55.656000,2021-06-14 17:32:00.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time6,2021-06-14 17:32:00.656000,2021-06-14 17:32:05.656000,6,,,Segment_Type.FIXED_TIME
+fixed_time11,2021-06-14 17:32:25.656000,2021-06-14 17:32:30.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time12,2021-06-14 17:32:30.656000,2021-06-14 17:32:35.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time13,2021-06-14 17:32:35.656000,2021-06-14 17:32:40.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time14,2021-06-14 17:32:40.656000,2021-06-14 17:32:45.656000,19,,,Segment_Type.FIXED_TIME
+fixed_time16,2021-06-14 17:32:50.656000,2021-06-14 17:32:55.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time37,2021-06-14 17:34:35.656000,2021-06-14 17:34:40.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time38,2021-06-14 17:34:40.656000,2021-06-14 17:34:45.656000,24,,,Segment_Type.FIXED_TIME
+fixed_time39,2021-06-14 17:34:45.656000,2021-06-14 17:34:50.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time40,2021-06-14 17:34:50.656000,2021-06-14 17:34:55.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time41,2021-06-14 17:34:55.656000,2021-06-14 17:35:00.656000,4,,,Segment_Type.FIXED_TIME
+fixed_time65,2021-06-14 17:36:55.656000,2021-06-14 17:37:00.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time66,2021-06-14 17:37:00.656000,2021-06-14 17:37:05.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time67,2021-06-14 17:37:05.656000,2021-06-14 17:37:10.656000,9,,,Segment_Type.FIXED_TIME
+fixed_time68,2021-06-14 17:37:10.656000,2021-06-14 17:37:15.656000,30,,,Segment_Type.FIXED_TIME
+fixed_time69,2021-06-14 17:37:15.656000,2021-06-14 17:37:20.656000,14,,,Segment_Type.FIXED_TIME
+fixed_time70,2021-06-14 17:37:20.656000,2021-06-14 17:37:25.656000,4,,,Segment_Type.FIXED_TIME
+fixed_time71,2021-06-14 17:37:25.656000,2021-06-14 17:37:30.656000,17,,,Segment_Type.FIXED_TIME
+fixed_time72,2021-06-14 17:37:30.656000,2021-06-14 17:37:35.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time73,2021-06-14 17:37:35.656000,2021-06-14 17:37:40.656000,16,,,Segment_Type.FIXED_TIME
+fixed_time74,2021-06-14 17:37:40.656000,2021-06-14 17:37:45.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time75,2021-06-14 17:37:45.656000,2021-06-14 17:37:50.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time76,2021-06-14 17:37:50.656000,2021-06-14 17:37:55.656000,5,,,Segment_Type.FIXED_TIME
+fixed_time94,2021-06-14 17:39:20.656000,2021-06-14 17:39:25.656000,3,,,Segment_Type.FIXED_TIME
+fixed_time95,2021-06-14 17:39:25.656000,2021-06-14 17:39:30.656000,24,,,Segment_Type.FIXED_TIME
+fixed_time110,2021-06-14 17:40:40.656000,2021-06-14 17:40:45.656000,8,,,Segment_Type.FIXED_TIME
+fixed_time111,2021-06-14 17:40:45.656000,2021-06-14 17:40:50.656000,23,,,Segment_Type.FIXED_TIME
+fixed_time112,2021-06-14 17:40:50.656000,2021-06-14 17:40:55.656000,21,,,Segment_Type.FIXED_TIME
+fixed_time113,2021-06-14 17:40:55.656000,2021-06-14 17:41:00.656000,12,,,Segment_Type.FIXED_TIME
+fixed_time114,2021-06-14 17:41:00.656000,2021-06-14 17:41:05.656000,32,,,Segment_Type.FIXED_TIME
+fixed_time115,2021-06-14 17:41:05.656000,2021-06-14 17:41:10.656000,7,,,Segment_Type.FIXED_TIME
+fixed_time116,2021-06-14 17:41:10.656000,2021-06-14 17:41:15.656000,6,,,Segment_Type.FIXED_TIME
+fixed_time117,2021-06-14 17:41:15.656000,2021-06-14 17:41:20.656000,10,,,Segment_Type.FIXED_TIME
+fixed_time118,2021-06-14 17:41:20.656000,2021-06-14 17:41:25.656000,5,,,Segment_Type.FIXED_TIME
+fixed_time183,2021-06-14 17:46:45.656000,2021-06-14 17:46:50.656000,25,,,Segment_Type.FIXED_TIME
+fixed_time184,2021-06-14 17:46:50.656000,2021-06-14 17:46:55.656000,18,,,Segment_Type.FIXED_TIME
+deadspace0,2021-06-14 17:31:32.888000,2021-06-14 17:31:44.212000,3,,,Segment_Type.DEADSPACE
+deadspace1,2021-06-14 17:32:02.979000,2021-06-14 17:32:27.444000,2,,,Segment_Type.DEADSPACE
+deadspace2,2021-06-14 17:32:46.162000,2021-06-14 17:32:52.065000,4,,,Segment_Type.DEADSPACE
+deadspace3,2021-06-14 17:32:57.375000,2021-06-14 17:34:30.255000,2,,,Segment_Type.DEADSPACE
+deadspace4,2021-06-14 17:34:30.255000,2021-06-14 17:34:38.186000,2,,,Segment_Type.DEADSPACE
+deadspace5,2021-06-14 17:34:54.619000,2021-06-14 17:34:59.824000,3,,,Segment_Type.DEADSPACE
+deadspace6,2021-06-14 17:35:00.742000,2021-06-14 17:36:53.063000,2,,,Segment_Type.DEADSPACE
+deadspace7,2021-06-14 17:37:21.860000,2021-06-14 17:37:27.061000,2,,,Segment_Type.DEADSPACE
+deadspace8,2021-06-14 17:37:53.116000,2021-06-14 17:38:12.747000,2,,,Segment_Type.DEADSPACE
+deadspace9,2021-06-14 17:38:12.747000,2021-06-14 17:39:24.440000,2,,,Segment_Type.DEADSPACE
+deadspace10,2021-06-14 17:39:29.337000,2021-06-14 17:39:36.862000,3,,,Segment_Type.DEADSPACE
+deadspace11,2021-06-14 17:39:37.980000,2021-06-14 17:40:33.625000,2,,,Segment_Type.DEADSPACE
+deadspace12,2021-06-14 17:40:33.625000,2021-06-14 17:40:42.844000,2,,,Segment_Type.DEADSPACE
+deadspace13,2021-06-14 17:41:21.838000,2021-06-14 17:46:44.112000,2,,,Segment_Type.DEADSPACE
+generated0,2021-06-14 17:31:43.212000,2021-06-14 17:31:45.212000,9,type,['click'],Segment_Type.GENERATE
+generated1,2021-06-14 17:31:45.212000,2021-06-14 17:31:46.955000,1,type,['click'],Segment_Type.GENERATE
+generated2,2021-06-14 17:31:46.955000,2021-06-14 17:31:48.135000,5,type,['click'],Segment_Type.GENERATE
+generated3,2021-06-14 17:31:48.728000,2021-06-14 17:31:50.728000,2,type,['click'],Segment_Type.GENERATE
+generated4,2021-06-14 17:31:51.239000,2021-06-14 17:31:53.239000,4,type,['click'],Segment_Type.GENERATE
+generated5,2021-06-14 17:31:53.710000,2021-06-14 17:31:55.710000,5,type,['click'],Segment_Type.GENERATE
+generated6,2021-06-14 17:31:55.710000,2021-06-14 17:31:56.888000,4,type,['click'],Segment_Type.GENERATE
+generated7,2021-06-14 17:31:57.726000,2021-06-14 17:31:59.726000,2,type,['click'],Segment_Type.GENERATE
+generated8,2021-06-14 17:32:00.067000,2021-06-14 17:32:02.067000,2,type,['click'],Segment_Type.GENERATE
+generated9,2021-06-14 17:32:02.067000,2021-06-14 17:32:03.850000,5,type,['click'],Segment_Type.GENERATE
+generated10,2021-06-14 17:32:26.444000,2021-06-14 17:32:28.444000,2,type,['click'],Segment_Type.GENERATE
+generated11,2021-06-14 17:32:28.494000,2021-06-14 17:32:30.494000,7,type,['click'],Segment_Type.GENERATE
+generated12,2021-06-14 17:32:30.494000,2021-06-14 17:32:32.406000,3,type,['click'],Segment_Type.GENERATE
+generated13,2021-06-14 17:32:32.406000,2021-06-14 17:32:33.468000,3,type,['click'],Segment_Type.GENERATE
+generated14,2021-06-14 17:32:33.468000,2021-06-14 17:32:34.715000,3,type,['click'],Segment_Type.GENERATE
+generated15,2021-06-14 17:32:34.715000,2021-06-14 17:32:35.816000,3,type,['click'],Segment_Type.GENERATE
+generated16,2021-06-14 17:32:35.816000,2021-06-14 17:32:36.899000,2,type,['click'],Segment_Type.GENERATE
+generated17,2021-06-14 17:32:37.182000,2021-06-14 17:32:39.182000,4,type,['click'],Segment_Type.GENERATE
+generated18,2021-06-14 17:32:41.124000,2021-06-14 17:32:43.124000,8,type,['click'],Segment_Type.GENERATE
+generated19,2021-06-14 17:32:43.124000,2021-06-14 17:32:44.234000,2,type,['click'],Segment_Type.GENERATE
+generated20,2021-06-14 17:32:44.234000,2021-06-14 17:32:45.508000,6,type,['click'],Segment_Type.GENERATE
+generated21,2021-06-14 17:32:45.508000,2021-06-14 17:32:46.579000,3,type,['click'],Segment_Type.GENERATE
+generated22,2021-06-14 17:32:51.065000,2021-06-14 17:32:53.065000,5,type,['click'],Segment_Type.GENERATE
+generated23,2021-06-14 17:32:54.299000,2021-06-14 17:32:56.299000,2,type,['click'],Segment_Type.GENERATE
+generated24,2021-06-14 17:34:29.255000,2021-06-14 17:34:31.255000,1,type,['click'],Segment_Type.GENERATE
+generated25,2021-06-14 17:34:37.186000,2021-06-14 17:34:39.186000,5,type,['click'],Segment_Type.GENERATE
+generated26,2021-06-14 17:34:39.186000,2021-06-14 17:34:40.214000,3,type,['click'],Segment_Type.GENERATE
+generated27,2021-06-14 17:34:40.214000,2021-06-14 17:34:41.457000,4,type,['click'],Segment_Type.GENERATE
+generated28,2021-06-14 17:34:41.457000,2021-06-14 17:34:42.659000,5,type,['click'],Segment_Type.GENERATE
+generated29,2021-06-14 17:34:42.659000,2021-06-14 17:34:43.708000,9,type,['click'],Segment_Type.GENERATE
+generated30,2021-06-14 17:34:43.708000,2021-06-14 17:34:44.870000,4,type,['click'],Segment_Type.GENERATE
+generated31,2021-06-14 17:34:44.870000,2021-06-14 17:34:45.982000,4,type,['click'],Segment_Type.GENERATE
+generated32,2021-06-14 17:34:45.982000,2021-06-14 17:34:47.424000,4,type,['click'],Segment_Type.GENERATE
+generated33,2021-06-14 17:34:47.978000,2021-06-14 17:34:49.978000,5,type,['click'],Segment_Type.GENERATE
+generated34,2021-06-14 17:34:49.978000,2021-06-14 17:34:51.786000,1,type,['click'],Segment_Type.GENERATE
+generated35,2021-06-14 17:34:51.991000,2021-06-14 17:34:53.991000,5,type,['click'],Segment_Type.GENERATE
+generated36,2021-06-14 17:34:53.991000,2021-06-14 17:34:55.619000,1,type,['click'],Segment_Type.GENERATE
+generated37,2021-06-14 17:34:58.824000,2021-06-14 17:35:00.824000,5,type,['click'],Segment_Type.GENERATE
+generated38,2021-06-14 17:36:52.063000,2021-06-14 17:36:54.063000,2,type,['click'],Segment_Type.GENERATE
+generated39,2021-06-14 17:36:55.065000,2021-06-14 17:36:57.065000,2,type,['click'],Segment_Type.GENERATE
+generated40,2021-06-14 17:36:58.216000,2021-06-14 17:37:00.216000,6,type,['click'],Segment_Type.GENERATE
+generated41,2021-06-14 17:37:00.216000,2021-06-14 17:37:02.172000,1,type,['click'],Segment_Type.GENERATE
+generated42,2021-06-14 17:37:02.209000,2021-06-14 17:37:04.209000,6,type,['click'],Segment_Type.GENERATE
+generated43,2021-06-14 17:37:04.209000,2021-06-14 17:37:06.114000,1,type,['click'],Segment_Type.GENERATE
+generated44,2021-06-14 17:37:07.768000,2021-06-14 17:37:09.768000,5,type,['click'],Segment_Type.GENERATE
+generated45,2021-06-14 17:37:09.768000,2021-06-14 17:37:11.181000,14,type,['click'],Segment_Type.GENERATE
+generated46,2021-06-14 17:37:11.181000,2021-06-14 17:37:12.257000,4,type,['click'],Segment_Type.GENERATE
+generated47,2021-06-14 17:37:12.257000,2021-06-14 17:37:13.427000,11,type,['click'],Segment_Type.GENERATE
+generated48,2021-06-14 17:37:13.427000,2021-06-14 17:37:15.291000,4,type,['click'],Segment_Type.GENERATE
+generated49,2021-06-14 17:37:15.291000,2021-06-14 17:37:16.534000,2,type,['click'],Segment_Type.GENERATE
+generated50,2021-06-14 17:37:16.534000,2021-06-14 17:37:17.606000,3,type,['click'],Segment_Type.GENERATE
+generated51,2021-06-14 17:37:17.606000,2021-06-14 17:37:19.054000,3,type,['click'],Segment_Type.GENERATE
+generated52,2021-06-14 17:37:19.054000,2021-06-14 17:37:20.363000,5,type,['click'],Segment_Type.GENERATE
+generated53,2021-06-14 17:37:20.363000,2021-06-14 17:37:21.597000,4,type,['click'],Segment_Type.GENERATE
+generated54,2021-06-14 17:37:21.597000,2021-06-14 17:37:22.859000,2,type,['click'],Segment_Type.GENERATE
+generated55,2021-06-14 17:37:26.061000,2021-06-14 17:37:28.061000,3,type,['click'],Segment_Type.GENERATE
+generated56,2021-06-14 17:37:28.190000,2021-06-14 17:37:30.190000,14,type,['click'],Segment_Type.GENERATE
+generated57,2021-06-14 17:37:30.218000,2021-06-14 17:37:32.218000,2,type,['click'],Segment_Type.GENERATE
+generated58,2021-06-14 17:37:32.218000,2021-06-14 17:37:34.143000,5,type,['click'],Segment_Type.GENERATE
+generated59,2021-06-14 17:37:34.143000,2021-06-14 17:37:35.311000,5,type,['click'],Segment_Type.GENERATE
+generated60,2021-06-14 17:37:35.311000,2021-06-14 17:37:36.821000,6,type,['click'],Segment_Type.GENERATE
+generated61,2021-06-14 17:37:36.821000,2021-06-14 17:37:37.973000,3,type,['click'],Segment_Type.GENERATE
+generated62,2021-06-14 17:37:37.973000,2021-06-14 17:37:39.348000,3,type,['click'],Segment_Type.GENERATE
+generated63,2021-06-14 17:37:39.348000,2021-06-14 17:37:40.374000,3,type,['click'],Segment_Type.GENERATE
+generated64,2021-06-14 17:37:40.374000,2021-06-14 17:37:41.399000,3,type,['click'],Segment_Type.GENERATE
+generated65,2021-06-14 17:37:41.399000,2021-06-14 17:37:43.232000,1,type,['click'],Segment_Type.GENERATE
+generated66,2021-06-14 17:37:43.232000,2021-06-14 17:37:44.737000,5,type,['click'],Segment_Type.GENERATE
+generated67,2021-06-14 17:37:44.737000,2021-06-14 17:37:46.674000,1,type,['click'],Segment_Type.GENERATE
+generated68,2021-06-14 17:37:47.147000,2021-06-14 17:37:49.147000,6,type,['click'],Segment_Type.GENERATE
+generated69,2021-06-14 17:37:51.971000,2021-06-14 17:37:53.971000,5,type,['click'],Segment_Type.GENERATE
+generated70,2021-06-14 17:39:23.440000,2021-06-14 17:39:25.440000,3,type,['click'],Segment_Type.GENERATE
+generated71,2021-06-14 17:39:25.440000,2021-06-14 17:39:27.277000,17,type,['click'],Segment_Type.GENERATE
+generated72,2021-06-14 17:39:27.277000,2021-06-14 17:39:28.374000,2,type,['click'],Segment_Type.GENERATE
+generated73,2021-06-14 17:39:35.862000,2021-06-14 17:39:37.862000,1,type,['click'],Segment_Type.GENERATE
+generated74,2021-06-14 17:39:37.862000,2021-06-14 17:39:38.980000,1,type,['click'],Segment_Type.GENERATE
+generated75,2021-06-14 17:40:41.844000,2021-06-14 17:40:43.844000,4,type,['click'],Segment_Type.GENERATE
+generated76,2021-06-14 17:40:43.844000,2021-06-14 17:40:44.962000,4,type,['click'],Segment_Type.GENERATE
+generated77,2021-06-14 17:40:45.889000,2021-06-14 17:40:47.889000,4,type,['click'],Segment_Type.GENERATE
+generated78,2021-06-14 17:40:47.889000,2021-06-14 17:40:48.989000,5,type,['click'],Segment_Type.GENERATE
+generated79,2021-06-14 17:40:48.989000,2021-06-14 17:40:50.686000,14,type,['click'],Segment_Type.GENERATE
+generated80,2021-06-14 17:40:50.686000,2021-06-14 17:40:51.824000,5,type,['click'],Segment_Type.GENERATE
+generated81,2021-06-14 17:40:51.824000,2021-06-14 17:40:53.134000,4,type,['click'],Segment_Type.GENERATE
+generated82,2021-06-14 17:40:53.134000,2021-06-14 17:40:54.281000,6,type,['click'],Segment_Type.GENERATE
+generated83,2021-06-14 17:40:54.281000,2021-06-14 17:40:55.587000,6,type,['click'],Segment_Type.GENERATE
+generated84,2021-06-14 17:40:55.587000,2021-06-14 17:40:57.333000,9,type,['click'],Segment_Type.GENERATE
+generated85,2021-06-14 17:40:57.768000,2021-06-14 17:40:59.768000,2,type,['click'],Segment_Type.GENERATE
+generated86,2021-06-14 17:40:59.768000,2021-06-14 17:41:00.911000,1,type,['click'],Segment_Type.GENERATE
+generated87,2021-06-14 17:41:00.911000,2021-06-14 17:41:02.314000,5,type,['click'],Segment_Type.GENERATE
+generated88,2021-06-14 17:41:02.314000,2021-06-14 17:41:04.284000,10,type,['click'],Segment_Type.GENERATE
+generated89,2021-06-14 17:41:04.284000,2021-06-14 17:41:05.338000,17,type,['click'],Segment_Type.GENERATE
+generated90,2021-06-14 17:41:05.338000,2021-06-14 17:41:07.170000,1,type,['click'],Segment_Type.GENERATE
+generated91,2021-06-14 17:41:07.723000,2021-06-14 17:41:09.723000,5,type,['click'],Segment_Type.GENERATE
+generated92,2021-06-14 17:41:09.723000,2021-06-14 17:41:11.404000,1,type,['click'],Segment_Type.GENERATE
+generated93,2021-06-14 17:41:12.675000,2021-06-14 17:41:14.675000,6,type,['click'],Segment_Type.GENERATE
+generated94,2021-06-14 17:41:14.986000,2021-06-14 17:41:16.986000,2,type,['click'],Segment_Type.GENERATE
+generated95,2021-06-14 17:41:16.986000,2021-06-14 17:41:18.023000,3,type,['click'],Segment_Type.GENERATE
+generated96,2021-06-14 17:41:18.023000,2021-06-14 17:41:19.509000,3,type,['click'],Segment_Type.GENERATE
+generated97,2021-06-14 17:41:19.509000,2021-06-14 17:41:20.976000,4,type,['click'],Segment_Type.GENERATE
+generated98,2021-06-14 17:41:20.976000,2021-06-14 17:41:22.399000,3,type,['click'],Segment_Type.GENERATE
+generated99,2021-06-14 17:46:43.112000,2021-06-14 17:46:45.112000,2,type,['click'],Segment_Type.GENERATE
+generated100,2021-06-14 17:46:46.034000,2021-06-14 17:46:48.034000,2,type,['click'],Segment_Type.GENERATE
+generated101,2021-06-14 17:46:48.034000,2021-06-14 17:46:49.404000,20,type,['click'],Segment_Type.GENERATE
+generated102,2021-06-14 17:46:49.567000,2021-06-14 17:46:51.567000,3,type,['click'],Segment_Type.GENERATE
+generated103,2021-06-14 17:46:51.567000,2021-06-14 17:46:52.776000,9,type,['click'],Segment_Type.GENERATE
+generated104,2021-06-14 17:46:52.776000,2021-06-14 17:46:53.831000,5,type,['click'],Segment_Type.GENERATE
+generated105,2021-06-14 17:46:53.831000,2021-06-14 17:46:55.374000,3,type,['click'],Segment_Type.GENERATE
+generated106,2021-06-14 17:46:55.434000,2021-06-14 17:46:57.434000,1,type,['click'],Segment_Type.GENERATE
diff --git a/Dashboard/index.py b/Dashboard/index.py
new file mode 100644
index 0000000..58f26da
--- /dev/null
+++ b/Dashboard/index.py
@@ -0,0 +1,273 @@
+from numpy import append
+import pandas as pd
+
+import dash
+from dash import Dash, dcc, html, Input, Output, callback
+from dash import Dash, html, dcc
+import plotly.express as px
+from pandas import DataFrame
+from pandas.io.parsers import TextFileReader
+import plotly.figure_factory as ff
+import dash_bootstrap_components as dbc
+
+
+df = pd.read_csv("example_segments.csv")
+#app = Dash(__name__, external_stylesheets=[dbc.themes.FLATLY])
+
+
+#Side Bar
+SIDEBAR_STYLE = {
+ 'position': 'fixed',
+ 'top': 0,
+ 'left': 0,
+ 'bottom': 0,
+ 'width': '12rem',
+ 'padding': '2rem 1rem',
+ 'background-color': 'lightgrey',
+ 'color': 'black',
+}
+CONTENT_STYLE = {
+ 'margin-left': '15rem',
+ 'margin-right': '2rem',
+ 'padding': '2rem' '1rem',
+ 'color': 'black',
+}
+
+
+#Overlapping segments data
+fixed_time = df[df["Segment Type"].str.contains("Segment_Type.FIXED_TIME")]
+generate = df[df["Segment Type"].str.contains("Segment_Type.GENERATE")]
+deadspace = df[df["Segment Type"].str.contains("Segment_Type.DEADSPACE")]
+
+deadspace = deadspace.head()
+generate = generate.head()
+fixed_time = fixed_time.head()
+All = [fixed_time,generate, deadspace]
+result = pd.concat(All)
+
+'''Overlapping Segments Graph
+This visualization displays segments types that overlap over start and end times '''
+
+fig = px.timeline(result, x_start="Start Time", x_end="End Time", y="Segment Type", color="Segment Type")
+fig.update_yaxes(autorange="reversed")
+
+
+#Line Graph
+df["timeline"] = df["Start Time"] + df["End Time"]
+df['timeline'] = pd.to_datetime(df['timeline']).dt.time
+fig_line = px.line(df, x="timeline", y="Number of Logs",title = 'Segments')
+fig_line.update_traces(mode='markers+lines')
+fig_line.update_xaxes(rangeslider_visible=True)
+
+
+fig_line.update_layout(
+ title = 'Number of Logs by Time'
+ ,xaxis_title = 'Timeline'
+ ,yaxis_title = 'Number of logs'
+ ,font = dict(size = 15)
+ ,template = 'plotly_dark' #"plotly", "plotly_white", "plotly_dark", "ggplot2", "seaborn", "simple_white", "none"
+)
+
+#Bubble Chart
+fig_bubble = px.scatter(df.head(100),x="Start Time", y="End Time",
+ size="Number of Logs", color="Segment Type",
+ hover_name="Generate Matched Values")
+
+#Pie Chart
+fig_pie = px.pie(df, values='Number of Logs', names='Segment Type')
+#fig_pie.show()
+
+#Bar Chart
+fig_bar = px.histogram(df, x="Segment Type", y="Number of Logs",
+ color='Segment Type', barmode='group',
+ histfunc='avg',
+ height=400)
+#Area Chart
+fig_area = px.area(df, x="Start Time", y="End Time", color="Segment Type", line_group="Number of Logs")
+
+
+#Time Between Segments Conversion
+df["Start Time"] = pd.to_datetime(df["Start Time"])
+df["End Time"] = pd.to_datetime(df["End Time"])
+# Duration of segments
+lst = []
+for i in range(len(df["End Time"])):
+ lst.append((df["End Time"][i] - df["Start Time"][i]).total_seconds())
+
+#print(lst)
+
+df["Duration"] = lst
+
+#Time Between Segments in a Gantt Chart
+fig_gantt = px.timeline(df, x_start="Start Time", x_end="End Time", y="Segment Type", color="Duration")
+fig.update_yaxes(autorange="reversed")
+
+#Time Between Segments in a Histogram
+fig_hist = px.histogram(df, x="Segment Type", y="Number of Logs",
+ color='Duration', barmode='group',
+ histfunc='avg',
+ height=400
+ )
+
+
+child = dbc.Container(
+ [
+ dbc.Row(dbc.Col(html.H1("Segments Plotly Dashboard"))), #header
+ dbc.Row([
+ dbc.Col([
+ html.H5("Overlapping Segments", className="text-center"),
+ dcc.Tab(label='Segment Types Overlapping', children=[
+ dcc.Graph(
+ id='chrt-portfolio-main',
+ figure = fig.update_layout(template = 'plotly_dark'),
+ style={'height': 550}),
+ html.Hr(),
+
+ ]),
+ ],width={'size': 8, 'offset': 0, 'order': 1}),
+ dbc.Col([ # second column on second row
+ html.H5('Bar Chart', className='text-center'),
+ dcc.Graph(id='indicators-ptf',
+ figure = fig_bar.update_layout(template='plotly_dark'),
+ style={'height':550}),
+ html.Hr()
+ ], width={'size': 4, 'offset': 0, 'order': 2}), # width second column on second row
+ dbc.Col([ # third column on second row
+ html.H5('Pie Chart', className='text-center'),
+ dcc.Graph(id='pie-top15',
+ figure = fig_pie.update_layout(template='plotly_dark'),
+ style={'height':380}),
+ html.Hr()
+ ], width={'size': 4, 'offset': 0, 'order': 2}),
+
+
+ ]),
+ dbc.Row([ # start of third row
+ dbc.Col([ # first column on third row
+ html.H5('Number of logs by Time', className='text-center'),
+ dcc.Graph(id='chrt-portfolio-secondary',
+ figure=fig_line,
+
+ style={'height':380}),
+ ], width={'size': 10, 'offset': 0, 'order': 1}),
+ ]),
+ dbc.Row([ # start of third row
+ dbc.Col([ # first column on third row
+ html.H5('Filtering By Segment Type', className='text-center'),
+
+ dcc.Tab(label='Filtering By Segment Type', children=[
+ dcc.Dropdown(id="Segment_Types",
+ options=[
+ {"label": "Fixed Times", "value": "Segment_Type.FIXED_TIME"},
+ {"label": "Generate", "value": "Segment_Type.GENERATE"},
+ {"label": "Deadspace", "value": "Segment_Type.DEADSPACE"}],
+ multi=False,
+ value="Segment_Type.FIXED_TIME"
+
+ ),
+ html.Div(id='output_container', children=[]),
+ html.Br(),
+ dcc.Graph(id="segment", figure={}),
+ ]),
+ ], width={'size': 8, 'offset': 0, 'order': 1}),
+ ]),
+ ])
+
+
+sidebar = html.Div(
+#navbar = html.Div(
+ [
+# html.H5("Navigation Menu", className='display-6'),
+ html.Hr(),
+ html.P('Dashboard Menu', className='text-center'),
+
+
+
+ dbc.Nav(
+ [
+ dbc.NavLink('Home', href="/", active='exact'),
+ dbc.NavLink('Plotly', href="https://plotly.com/", active='exact'),
+ dbc.NavLink('Gantt', href="/Gantt", active='exact'),
+ dbc.NavLink('Documentation', href="/page-docs", active='exact'),
+
+ dbc.DropdownMenu(
+ label="Plotly Graphs",
+ toggle_style={
+ "color":"#008080",
+ "background": "#D3D3D3",
+ },
+ children=[
+ dbc.DropdownMenuItem(dcc.Link('Gantt Chart',href ="/Gantt")),
+ dbc.DropdownMenuItem("Bar Chart"),
+ dbc.DropdownMenuItem("Line Chart"),
+ dbc.DropdownMenuItem(dcc.Link('Upload',href ="/upload")),
+ ],
+ nav=True,
+ in_navbar=True,
+
+
+
+ )
+ ],
+
+ vertical=True,
+ pills=True,
+ ),
+
+
+ ],
+
+ style=SIDEBAR_STYLE,
+)
+
+
+
+
+content = html.Div(id='page-content', children=child, style=CONTENT_STYLE)
+
+app = Dash(__name__, external_stylesheets=[dbc.themes.SPACELAB])
+# app = JupyterDash(__name__)
+
+
+app.layout = html.Div([
+ #dcc.Location(id='url'),
+ #sidebar,
+ #navbar,
+ content
+])
+layout = content
+
+
+
+
+@app.callback(
+ [
+ Output(component_id='output_container', component_property="children"),
+ Output(component_id='segment', component_property="figure")],
+ [Input(component_id='Segment_Types', component_property="value")]
+)
+
+
+
+
+def update_graph(option_segment):
+ print(option_segment)
+ print(type(option_segment))
+
+ container = "Segment Types is:{}".format(option_segment)
+ dff = df.copy()
+ dff = dff[dff['Segment Type'] == option_segment]
+ # Plotly Express
+ fig = px.timeline(dff.head(50), x_start="Start Time", x_end="End Time", y="Segment Name", color="Number of Logs")
+ fig.update_yaxes(autorange="reversed")
+ fig.update_layout(template = 'plotly_dark')
+ #fig.show()
+
+ return container, fig
+
+
+
+
+
+if __name__ == '__main__':
+ app.run_server(debug=True, port=3099)
\ No newline at end of file