From a49d9450daedee9eea65ae2bdcf5d821f5267d08 Mon Sep 17 00:00:00 2001 From: Aidan Feldman Date: Sat, 21 Sep 2024 00:13:03 -0400 Subject: [PATCH] use matplotlib for charts Proof of concept. --- extras/environment.yml | 1 + lecture_4.ipynb | 4519 +--------------------------------------- 2 files changed, 59 insertions(+), 4461 deletions(-) diff --git a/extras/environment.yml b/extras/environment.yml index fe32e4ca..172a87bb 100644 --- a/extras/environment.yml +++ b/extras/environment.yml @@ -37,6 +37,7 @@ dependencies: # needed for plotly # https://plotly.com/python/getting-started/#jupyterlab-support - ipywidgets>=7.6 + - matplotlib ## CI ## - jinja2 diff --git a/lecture_4.ipynb b/lecture_4.ipynb index 6df62af4..72c8e878 100644 --- a/lecture_4.ipynb +++ b/lecture_4.ipynb @@ -109,14 +109,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "/var/folders/kr/nx0m1j811kz5vy8c87ffchzr0000gn/T/ipykernel_39361/461306798.py:1: DtypeWarning: Columns (8,20,31,34) have mixed types. Specify dtype option on import or set low_memory=False.\n", + "/var/folders/kr/nx0m1j811kz5vy8c87ffchzr0000gn/T/ipykernel_81097/2961149780.py:1: DtypeWarning: Columns (8,20,31,34) have mixed types. Specify dtype option on import or set low_memory=False.\n", " requests = pd.read_csv(\n" ] } ], "source": [ "requests = pd.read_csv(\n", - " \"https://storage.googleapis.com/python-public-policy2/data/311_requests_2018-19_sample_clean.csv.zip\"\n", + " \"./data/311_requests_2018-19_sample_clean.csv.zip\"\n", ")" ] }, @@ -857,7 +857,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 38, "metadata": { "editable": true, "slideshow": { @@ -867,1735 +867,23 @@ }, "outputs": [ { - "data": { - "text/html": [ - " \n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "Created Date=%{x}
count_requests=%{y}", - "legendgroup": "", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "", - "orientation": "v", - "showlegend": false, - "type": "scatter", - "x": [ - "2018-08-01T00:00:00", - "2018-08-02T00:00:00", - "2018-08-03T00:00:00", - "2018-08-04T00:00:00", - "2018-08-05T00:00:00", - "2018-08-06T00:00:00", - "2018-08-07T00:00:00", - "2018-08-08T00:00:00", - "2018-08-09T00:00:00", - "2018-08-10T00:00:00", - "2018-08-11T00:00:00", - "2018-08-12T00:00:00", - "2018-08-13T00:00:00", - "2018-08-14T00:00:00", - "2018-08-15T00:00:00", - "2018-08-16T00:00:00", - "2018-08-17T00:00:00", - "2018-08-18T00:00:00", - "2018-08-19T00:00:00", - "2018-08-20T00:00:00", - "2018-08-21T00:00:00", - "2018-08-22T00:00:00", - "2018-08-23T00:00:00", - "2018-08-24T00:00:00", - "2018-08-25T00:00:00", - "2018-08-26T00:00:00", - "2018-08-27T00:00:00", - "2018-08-28T00:00:00", - "2018-08-29T00:00:00", - "2018-08-30T00:00:00", - "2018-08-31T00:00:00", - "2018-09-01T00:00:00", - "2018-09-02T00:00:00", - "2018-09-03T00:00:00", - "2018-09-04T00:00:00", - "2018-09-05T00:00:00", - "2018-09-06T00:00:00", - "2018-09-07T00:00:00", - "2018-09-08T00:00:00", - "2018-09-09T00:00:00", - "2018-09-10T00:00:00", - "2018-09-11T00:00:00", - "2018-09-12T00:00:00", - "2018-09-13T00:00:00", - "2018-09-14T00:00:00", - "2018-09-15T00:00:00", - "2018-09-16T00:00:00", - "2018-09-17T00:00:00", - "2018-09-18T00:00:00", - "2018-09-19T00:00:00", - "2018-09-20T00:00:00", - "2018-09-21T00:00:00", - "2018-09-22T00:00:00", - "2018-09-23T00:00:00", - "2018-09-24T00:00:00", - "2018-09-25T00:00:00", - "2018-09-26T00:00:00", - "2018-09-27T00:00:00", - "2018-09-28T00:00:00", - "2018-09-29T00:00:00", - "2018-09-30T00:00:00", - "2018-10-01T00:00:00", - "2018-10-02T00:00:00", - "2018-10-03T00:00:00", - "2018-10-04T00:00:00", - "2018-10-05T00:00:00", - "2018-10-06T00:00:00", - "2018-10-07T00:00:00", - "2018-10-08T00:00:00", - "2018-10-09T00:00:00", - "2018-10-10T00:00:00", - "2018-10-11T00:00:00", - "2018-10-12T00:00:00", - "2018-10-13T00:00:00", - "2018-10-14T00:00:00", - "2018-10-15T00:00:00", - "2018-10-16T00:00:00", - "2018-10-17T00:00:00", - "2018-10-18T00:00:00", - "2018-10-19T00:00:00", - "2018-10-20T00:00:00", - "2018-10-21T00:00:00", - "2018-10-22T00:00:00", - "2018-10-23T00:00:00", - "2018-10-24T00:00:00", - "2018-10-25T00:00:00", - "2018-10-26T00:00:00", - "2018-10-27T00:00:00", - "2018-10-28T00:00:00", - "2018-10-29T00:00:00", - "2018-10-30T00:00:00", - "2018-10-31T00:00:00", - "2018-11-01T00:00:00", - "2018-11-02T00:00:00", - "2018-11-03T00:00:00", - "2018-11-04T00:00:00", - "2018-11-05T00:00:00", - "2018-11-06T00:00:00", - "2018-11-07T00:00:00", - "2018-11-08T00:00:00", - "2018-11-09T00:00:00", - "2018-11-10T00:00:00", - "2018-11-11T00:00:00", - "2018-11-12T00:00:00", - "2018-11-13T00:00:00", - "2018-11-14T00:00:00", - "2018-11-15T00:00:00", - "2018-11-16T00:00:00", - "2018-11-17T00:00:00", - "2018-11-18T00:00:00", - "2018-11-19T00:00:00", - "2018-11-20T00:00:00", - "2018-11-21T00:00:00", - "2018-11-22T00:00:00", - "2018-11-23T00:00:00", - "2018-11-24T00:00:00", - "2018-11-25T00:00:00", - "2018-11-26T00:00:00", - "2018-11-27T00:00:00", - "2018-11-28T00:00:00", - "2018-11-29T00:00:00", - "2018-11-30T00:00:00", - "2018-12-01T00:00:00", - "2018-12-02T00:00:00", - "2018-12-03T00:00:00", - "2018-12-04T00:00:00", - "2018-12-05T00:00:00", - "2018-12-06T00:00:00", - "2018-12-07T00:00:00", - "2018-12-08T00:00:00", - "2018-12-09T00:00:00", - "2018-12-10T00:00:00", - "2018-12-11T00:00:00", - "2018-12-12T00:00:00", - "2018-12-13T00:00:00", - "2018-12-14T00:00:00", - "2018-12-15T00:00:00", - "2018-12-16T00:00:00", - "2018-12-17T00:00:00", - "2018-12-18T00:00:00", - "2018-12-19T00:00:00", - "2018-12-20T00:00:00", - "2018-12-21T00:00:00", - "2018-12-22T00:00:00", - "2018-12-23T00:00:00", - "2018-12-24T00:00:00", - "2018-12-25T00:00:00", - "2018-12-26T00:00:00", - "2018-12-27T00:00:00", - "2018-12-28T00:00:00", - "2018-12-29T00:00:00", - "2018-12-30T00:00:00", - "2018-12-31T00:00:00", - "2019-01-01T00:00:00", - "2019-01-02T00:00:00", - "2019-01-03T00:00:00", - "2019-01-04T00:00:00", - "2019-01-05T00:00:00", - "2019-01-06T00:00:00", - "2019-01-07T00:00:00", - "2019-01-08T00:00:00", - "2019-01-09T00:00:00", - "2019-01-10T00:00:00", - "2019-01-11T00:00:00", - "2019-01-12T00:00:00", - "2019-01-13T00:00:00", - "2019-01-14T00:00:00", - "2019-01-15T00:00:00", - "2019-01-16T00:00:00", - "2019-01-17T00:00:00", - "2019-01-18T00:00:00", - "2019-01-19T00:00:00", - "2019-01-20T00:00:00", - "2019-01-21T00:00:00", - "2019-01-22T00:00:00", - "2019-01-23T00:00:00", - "2019-01-24T00:00:00", - "2019-01-25T00:00:00", - "2019-01-26T00:00:00", - "2019-01-27T00:00:00", - "2019-01-28T00:00:00", - "2019-01-29T00:00:00", - "2019-01-30T00:00:00", - "2019-01-31T00:00:00", - "2019-02-01T00:00:00", - "2019-02-02T00:00:00", - "2019-02-03T00:00:00", - "2019-02-04T00:00:00", - "2019-02-05T00:00:00", - "2019-02-06T00:00:00", - "2019-02-07T00:00:00", - "2019-02-08T00:00:00", - "2019-02-09T00:00:00", - "2019-02-10T00:00:00", - "2019-02-11T00:00:00", - "2019-02-12T00:00:00", - "2019-02-13T00:00:00", - "2019-02-14T00:00:00", - "2019-02-15T00:00:00", - "2019-02-16T00:00:00", - "2019-02-17T00:00:00", - "2019-02-18T00:00:00", - "2019-02-19T00:00:00", - "2019-02-20T00:00:00", - "2019-02-21T00:00:00", - "2019-02-22T00:00:00", - "2019-02-23T00:00:00", - "2019-02-24T00:00:00", - "2019-02-25T00:00:00", - "2019-02-26T00:00:00", - "2019-02-27T00:00:00", - "2019-02-28T00:00:00", - "2019-03-01T00:00:00", - "2019-03-02T00:00:00", - "2019-03-03T00:00:00", - "2019-03-04T00:00:00", - "2019-03-05T00:00:00", - "2019-03-06T00:00:00", - "2019-03-07T00:00:00", - "2019-03-08T00:00:00", - "2019-03-09T00:00:00", - "2019-03-10T00:00:00", - "2019-03-11T00:00:00", - "2019-03-12T00:00:00", - "2019-03-13T00:00:00", - "2019-03-14T00:00:00", - "2019-03-15T00:00:00", - "2019-03-16T00:00:00", - "2019-03-17T00:00:00", - "2019-03-18T00:00:00", - "2019-03-19T00:00:00", - "2019-03-20T00:00:00", - "2019-03-21T00:00:00", - "2019-03-22T00:00:00", - "2019-03-23T00:00:00", - "2019-03-24T00:00:00", - "2019-03-25T00:00:00", - "2019-03-26T00:00:00", - "2019-03-27T00:00:00", - "2019-03-28T00:00:00", - "2019-03-29T00:00:00", - "2019-03-30T00:00:00", - "2019-03-31T00:00:00", - "2019-04-01T00:00:00", - "2019-04-02T00:00:00", - "2019-04-03T00:00:00", - "2019-04-04T00:00:00", - "2019-04-05T00:00:00", - "2019-04-06T00:00:00", - "2019-04-07T00:00:00", - "2019-04-08T00:00:00", - "2019-04-09T00:00:00", - "2019-04-10T00:00:00", - "2019-04-11T00:00:00", - "2019-04-12T00:00:00", - "2019-04-13T00:00:00", - "2019-04-14T00:00:00", - "2019-04-15T00:00:00", - "2019-04-16T00:00:00", - "2019-04-17T00:00:00", - "2019-04-18T00:00:00", - "2019-04-19T00:00:00", - "2019-04-20T00:00:00", - "2019-04-21T00:00:00", - "2019-04-22T00:00:00", - "2019-04-23T00:00:00", - "2019-04-24T00:00:00", - "2019-04-25T00:00:00", - "2019-04-26T00:00:00", - "2019-04-27T00:00:00", - "2019-04-28T00:00:00", - "2019-04-29T00:00:00", - "2019-04-30T00:00:00", - "2019-05-01T00:00:00", - "2019-05-02T00:00:00", - "2019-05-03T00:00:00", - "2019-05-04T00:00:00", - "2019-05-05T00:00:00", - "2019-05-06T00:00:00", - "2019-05-07T00:00:00", - "2019-05-08T00:00:00", - "2019-05-09T00:00:00", - "2019-05-10T00:00:00", - "2019-05-11T00:00:00", - "2019-05-12T00:00:00", - "2019-05-13T00:00:00", - "2019-05-14T00:00:00", - "2019-05-15T00:00:00", - "2019-05-16T00:00:00", - "2019-05-17T00:00:00", - "2019-05-18T00:00:00", - "2019-05-19T00:00:00", - "2019-05-20T00:00:00", - "2019-05-21T00:00:00", - "2019-05-22T00:00:00", - "2019-05-23T00:00:00", - "2019-05-24T00:00:00", - "2019-05-25T00:00:00", - "2019-05-26T00:00:00", - "2019-05-27T00:00:00", - "2019-05-28T00:00:00", - "2019-05-29T00:00:00", - "2019-05-30T00:00:00", - "2019-05-31T00:00:00", - "2019-06-01T00:00:00", - "2019-06-02T00:00:00", - "2019-06-03T00:00:00", - "2019-06-04T00:00:00", - "2019-06-05T00:00:00", - "2019-06-06T00:00:00", - "2019-06-07T00:00:00", - "2019-06-08T00:00:00", - "2019-06-09T00:00:00", - "2019-06-10T00:00:00", - "2019-06-11T00:00:00", - "2019-06-12T00:00:00", - "2019-06-13T00:00:00", - "2019-06-14T00:00:00", - "2019-06-15T00:00:00", - "2019-06-16T00:00:00", - "2019-06-17T00:00:00", - "2019-06-18T00:00:00", - "2019-06-19T00:00:00", - "2019-06-20T00:00:00", - "2019-06-21T00:00:00", - "2019-06-22T00:00:00", - "2019-06-23T00:00:00", - "2019-06-24T00:00:00", - "2019-06-25T00:00:00", - "2019-06-26T00:00:00", - "2019-06-27T00:00:00", - "2019-06-28T00:00:00", - "2019-06-29T00:00:00", - "2019-06-30T00:00:00", - "2019-07-01T00:00:00", - "2019-07-02T00:00:00", - "2019-07-03T00:00:00", - "2019-07-04T00:00:00", - "2019-07-05T00:00:00", - "2019-07-06T00:00:00", - "2019-07-07T00:00:00", - "2019-07-08T00:00:00", - "2019-07-09T00:00:00", - "2019-07-10T00:00:00", - "2019-07-11T00:00:00", - "2019-07-12T00:00:00", - "2019-07-13T00:00:00", - "2019-07-14T00:00:00", - "2019-07-15T00:00:00", - "2019-07-16T00:00:00", - "2019-07-17T00:00:00", - "2019-07-18T00:00:00", - "2019-07-19T00:00:00", - "2019-07-20T00:00:00", - "2019-07-21T00:00:00", - "2019-07-22T00:00:00", - "2019-07-23T00:00:00", - "2019-07-24T00:00:00", - "2019-07-25T00:00:00", - "2019-07-26T00:00:00", - "2019-07-27T00:00:00", - "2019-07-28T00:00:00", - "2019-07-29T00:00:00", - "2019-07-30T00:00:00", - "2019-07-31T00:00:00", - "2019-08-01T00:00:00", - "2019-08-02T00:00:00", - "2019-08-03T00:00:00", - "2019-08-04T00:00:00", - "2019-08-05T00:00:00", - "2019-08-06T00:00:00", - "2019-08-07T00:00:00", - "2019-08-08T00:00:00", - "2019-08-09T00:00:00", - "2019-08-10T00:00:00", - "2019-08-11T00:00:00", - "2019-08-12T00:00:00", - "2019-08-13T00:00:00", - "2019-08-14T00:00:00", - "2019-08-15T00:00:00", - "2019-08-16T00:00:00", - "2019-08-17T00:00:00", - "2019-08-18T00:00:00", - "2019-08-19T00:00:00", - "2019-08-20T00:00:00", - "2019-08-21T00:00:00", - "2019-08-22T00:00:00", - "2019-08-23T00:00:00", - "2019-08-24T00:00:00" - ], - "xaxis": "x", - "y": [ - 50, - 49, - 65, - 162, - 191, - 47, - 47, - 46, - 58, - 77, - 139, - 155, - 63, - 60, - 61, - 68, - 80, - 146, - 199, - 75, - 61, - 64, - 84, - 122, - 221, - 229, - 72, - 47, - 37, - 67, - 85, - 191, - 284, - 185, - 53, - 36, - 39, - 80, - 200, - 177, - 77, - 65, - 58, - 65, - 81, - 231, - 208, - 64, - 49, - 73, - 76, - 71, - 237, - 223, - 68, - 64, - 58, - 61, - 110, - 239, - 242, - 65, - 57, - 51, - 60, - 106, - 198, - 188, - 77, - 52, - 59, - 53, - 90, - 189, - 167, - 88, - 67, - 66, - 77, - 99, - 180, - 138, - 64, - 75, - 62, - 59, - 111, - 157, - 186, - 76, - 69, - 85, - 78, - 71, - 177, - 166, - 83, - 55, - 72, - 70, - 80, - 142, - 149, - 78, - 68, - 54, - 54, - 72, - 150, - 143, - 65, - 61, - 81, - 144, - 143, - 109, - 110, - 68, - 59, - 65, - 67, - 103, - 136, - 146, - 79, - 64, - 72, - 47, - 94, - 152, - 163, - 79, - 65, - 67, - 59, - 95, - 134, - 146, - 64, - 67, - 54, - 62, - 70, - 104, - 122, - 112, - 154, - 62, - 78, - 92, - 121, - 129, - 123, - 198, - 74, - 65, - 77, - 114, - 133, - 62, - 69, - 54, - 48, - 94, - 127, - 161, - 66, - 56, - 58, - 78, - 86, - 131, - 116, - 84, - 82, - 69, - 47, - 80, - 153, - 143, - 79, - 64, - 63, - 76, - 89, - 146, - 156, - 68, - 68, - 52, - 68, - 80, - 122, - 139, - 58, - 69, - 58, - 83, - 104, - 135, - 138, - 87, - 67, - 94, - 66, - 113, - 140, - 133, - 61, - 63, - 60, - 88, - 84, - 138, - 130, - 61, - 72, - 56, - 63, - 94, - 148, - 144, - 85, - 70, - 61, - 78, - 108, - 149, - 170, - 87, - 43, - 87, - 66, - 67, - 148, - 168, - 61, - 61, - 68, - 83, - 110, - 198, - 162, - 91, - 90, - 62, - 95, - 92, - 184, - 205, - 70, - 80, - 77, - 64, - 97, - 219, - 208, - 61, - 77, - 72, - 76, - 109, - 162, - 191, - 84, - 87, - 83, - 77, - 91, - 176, - 203, - 77, - 88, - 71, - 78, - 101, - 260, - 192, - 79, - 75, - 103, - 77, - 95, - 234, - 213, - 92, - 61, - 75, - 95, - 98, - 284, - 257, - 94, - 85, - 111, - 107, - 118, - 238, - 295, - 321, - 85, - 59, - 63, - 117, - 315, - 237, - 78, - 98, - 66, - 87, - 134, - 266, - 260, - 79, - 81, - 97, - 57, - 112, - 311, - 337, - 107, - 53, - 65, - 58, - 106, - 304, - 316, - 78, - 75, - 92, - 69, - 35, - 131, - 246, - 107, - 75, - 80, - 182, - 131, - 159, - 169, - 76, - 56, - 48, - 40, - 88, - 212, - 199, - 52, - 58, - 46, - 50, - 74, - 158, - 127, - 49, - 68, - 57, - 59, - 92, - 166, - 183, - 56, - 50, - 54, - 55, - 84, - 158, - 152, - 66, - 60, - 37, - 59, - 77, - 241, - 201, - 65, - 53, - 55, - 63, - 103, - 224, - 189, - 63, - 60, - 46, - 62, - 109, - 33 - ], - "yaxis": "y" - } - ], - "layout": { - "autosize": true, - "legend": { - "tracegroupgap": 0 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "Noise complaints per day" - }, - "xaxis": { - "anchor": "y", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - "2018-08-01", - "2019-08-24" - ], - "title": { - "text": "Created Date" - }, - "type": "date" - }, - "yaxis": { - "anchor": "x", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 16.11111111111111, - 353.8888888888889 - ], - "title": { - "text": "count_requests" - }, - "type": "linear" - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ImportError", + "evalue": "matplotlib is required for plotting when the default backend \"matplotlib\" is selected.", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[38], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m fig \u001b[38;5;241m=\u001b[39m \u001b[43mnoise_per_day\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mline\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 2\u001b[0m \u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCreated Date\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcount_requests\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mtitle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mNoise complaints per day\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m fig\u001b[38;5;241m.\u001b[39mshow()\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1101\u001b[0m, in \u001b[0;36mPlotAccessor.line\u001b[0;34m(self, x, y, **kwargs)\u001b[0m\n\u001b[1;32m 1035\u001b[0m \u001b[38;5;129m@Appender\u001b[39m(\n\u001b[1;32m 1036\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1037\u001b[0m \u001b[38;5;124;03m See Also\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1093\u001b[0m \u001b[38;5;28mself\u001b[39m, x: Hashable \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m, y: Hashable \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 1094\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m PlotAccessor:\n\u001b[1;32m 1095\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1096\u001b[0m \u001b[38;5;124;03m Plot Series or DataFrame as lines.\u001b[39;00m\n\u001b[1;32m 1097\u001b[0m \n\u001b[1;32m 1098\u001b[0m \u001b[38;5;124;03m This function is useful to plot lines using DataFrame's values\u001b[39;00m\n\u001b[1;32m 1099\u001b[0m \u001b[38;5;124;03m as coordinates.\u001b[39;00m\n\u001b[1;32m 1100\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1101\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mkind\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mline\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:951\u001b[0m, in \u001b[0;36mPlotAccessor.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 950\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m--> 951\u001b[0m plot_backend \u001b[38;5;241m=\u001b[39m \u001b[43m_get_plot_backend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mbackend\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 953\u001b[0m x, y, kind, kwargs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_call_args(\n\u001b[1;32m 954\u001b[0m plot_backend\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_parent, args, kwargs\n\u001b[1;32m 955\u001b[0m )\n\u001b[1;32m 957\u001b[0m kind \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_kind_aliases\u001b[38;5;241m.\u001b[39mget(kind, kind)\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1947\u001b[0m, in \u001b[0;36m_get_plot_backend\u001b[0;34m(backend)\u001b[0m\n\u001b[1;32m 1944\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m backend_str \u001b[38;5;129;01min\u001b[39;00m _backends:\n\u001b[1;32m 1945\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _backends[backend_str]\n\u001b[0;32m-> 1947\u001b[0m module \u001b[38;5;241m=\u001b[39m \u001b[43m_load_backend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbackend_str\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1948\u001b[0m _backends[backend_str] \u001b[38;5;241m=\u001b[39m module\n\u001b[1;32m 1949\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1877\u001b[0m, in \u001b[0;36m_load_backend\u001b[0;34m(backend)\u001b[0m\n\u001b[1;32m 1875\u001b[0m module \u001b[38;5;241m=\u001b[39m importlib\u001b[38;5;241m.\u001b[39mimport_module(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpandas.plotting._matplotlib\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 1876\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[0;32m-> 1877\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(\n\u001b[1;32m 1878\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmatplotlib is required for plotting when the \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1879\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdefault backend \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmatplotlib\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m is selected.\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 1880\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1881\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\n\u001b[1;32m 1883\u001b[0m found_backend \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n", + "\u001b[0;31mImportError\u001b[0m: matplotlib is required for plotting when the default backend \"matplotlib\" is selected." + ] } ], "source": [ - "fig = px.line(\n", - " noise_per_day,\n", + "fig = noise_per_day.plot.line(\n", " x=\"Created Date\",\n", " y=\"count_requests\",\n", " title=\"Noise complaints per day\",\n", @@ -2629,7 +917,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 36, "metadata": { "slideshow": { "slide_type": "-" @@ -2637,1713 +925,39 @@ }, "outputs": [ { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "Created Date=%{x}
count_requests=%{y}", - "legendgroup": "", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "", - "orientation": "v", - "showlegend": false, - "type": "scatter", - "x": [ - "2018-08-01T00:00:00", - "2018-08-02T00:00:00", - "2018-08-03T00:00:00", - "2018-08-04T00:00:00", - "2018-08-05T00:00:00", - "2018-08-06T00:00:00", - "2018-08-07T00:00:00", - "2018-08-08T00:00:00", - "2018-08-09T00:00:00", - "2018-08-10T00:00:00", - "2018-08-11T00:00:00", - "2018-08-12T00:00:00", - "2018-08-13T00:00:00", - "2018-08-14T00:00:00", - "2018-08-15T00:00:00", - "2018-08-16T00:00:00", - "2018-08-17T00:00:00", - "2018-08-18T00:00:00", - "2018-08-19T00:00:00", - "2018-08-20T00:00:00", - "2018-08-21T00:00:00", - "2018-08-22T00:00:00", - "2018-08-23T00:00:00", - "2018-08-24T00:00:00", - "2018-08-25T00:00:00", - "2018-08-26T00:00:00", - "2018-08-27T00:00:00", - "2018-08-28T00:00:00", - "2018-08-29T00:00:00", - "2018-08-30T00:00:00", - "2018-08-31T00:00:00", - "2018-09-01T00:00:00", - "2018-09-02T00:00:00", - "2018-09-03T00:00:00", - "2018-09-04T00:00:00", - "2018-09-05T00:00:00", - "2018-09-06T00:00:00", - "2018-09-07T00:00:00", - "2018-09-08T00:00:00", - "2018-09-09T00:00:00", - "2018-09-10T00:00:00", - "2018-09-11T00:00:00", - "2018-09-12T00:00:00", - "2018-09-13T00:00:00", - "2018-09-14T00:00:00", - "2018-09-15T00:00:00", - "2018-09-16T00:00:00", - "2018-09-17T00:00:00", - "2018-09-18T00:00:00", - "2018-09-19T00:00:00", - "2018-09-20T00:00:00", - "2018-09-21T00:00:00", - "2018-09-22T00:00:00", - "2018-09-23T00:00:00", - "2018-09-24T00:00:00", - "2018-09-25T00:00:00", - "2018-09-26T00:00:00", - "2018-09-27T00:00:00", - "2018-09-28T00:00:00", - "2018-09-29T00:00:00", - "2018-09-30T00:00:00", - "2018-10-01T00:00:00", - "2018-10-02T00:00:00", - "2018-10-03T00:00:00", - "2018-10-04T00:00:00", - "2018-10-05T00:00:00", - "2018-10-06T00:00:00", - "2018-10-07T00:00:00", - "2018-10-08T00:00:00", - "2018-10-09T00:00:00", - "2018-10-10T00:00:00", - "2018-10-11T00:00:00", - "2018-10-12T00:00:00", - "2018-10-13T00:00:00", - "2018-10-14T00:00:00", - "2018-10-15T00:00:00", - "2018-10-16T00:00:00", - "2018-10-17T00:00:00", - "2018-10-18T00:00:00", - "2018-10-19T00:00:00", - "2018-10-20T00:00:00", - "2018-10-21T00:00:00", - "2018-10-22T00:00:00", - "2018-10-23T00:00:00", - "2018-10-24T00:00:00", - "2018-10-25T00:00:00", - "2018-10-26T00:00:00", - "2018-10-27T00:00:00", - "2018-10-28T00:00:00", - "2018-10-29T00:00:00", - "2018-10-30T00:00:00", - "2018-10-31T00:00:00", - "2018-11-01T00:00:00", - "2018-11-02T00:00:00", - "2018-11-03T00:00:00", - "2018-11-04T00:00:00", - "2018-11-05T00:00:00", - "2018-11-06T00:00:00", - "2018-11-07T00:00:00", - "2018-11-08T00:00:00", - "2018-11-09T00:00:00", - "2018-11-10T00:00:00", - "2018-11-11T00:00:00", - "2018-11-12T00:00:00", - "2018-11-13T00:00:00", - "2018-11-14T00:00:00", - "2018-11-15T00:00:00", - "2018-11-16T00:00:00", - "2018-11-17T00:00:00", - "2018-11-18T00:00:00", - "2018-11-19T00:00:00", - "2018-11-20T00:00:00", - "2018-11-21T00:00:00", - "2018-11-22T00:00:00", - "2018-11-23T00:00:00", - "2018-11-24T00:00:00", - "2018-11-25T00:00:00", - "2018-11-26T00:00:00", - "2018-11-27T00:00:00", - "2018-11-28T00:00:00", - "2018-11-29T00:00:00", - "2018-11-30T00:00:00", - "2018-12-01T00:00:00", - "2018-12-02T00:00:00", - "2018-12-03T00:00:00", - "2018-12-04T00:00:00", - "2018-12-05T00:00:00", - "2018-12-06T00:00:00", - "2018-12-07T00:00:00", - "2018-12-08T00:00:00", - "2018-12-09T00:00:00", - "2018-12-10T00:00:00", - "2018-12-11T00:00:00", - "2018-12-12T00:00:00", - "2018-12-13T00:00:00", - "2018-12-14T00:00:00", - "2018-12-15T00:00:00", - "2018-12-16T00:00:00", - "2018-12-17T00:00:00", - "2018-12-18T00:00:00", - "2018-12-19T00:00:00", - "2018-12-20T00:00:00", - "2018-12-21T00:00:00", - "2018-12-22T00:00:00", - "2018-12-23T00:00:00", - "2018-12-24T00:00:00", - "2018-12-25T00:00:00", - "2018-12-26T00:00:00", - "2018-12-27T00:00:00", - "2018-12-28T00:00:00", - "2018-12-29T00:00:00", - "2018-12-30T00:00:00", - "2018-12-31T00:00:00", - "2019-01-01T00:00:00", - "2019-01-02T00:00:00", - "2019-01-03T00:00:00", - "2019-01-04T00:00:00", - "2019-01-05T00:00:00", - "2019-01-06T00:00:00", - "2019-01-07T00:00:00", - "2019-01-08T00:00:00", - "2019-01-09T00:00:00", - "2019-01-10T00:00:00", - "2019-01-11T00:00:00", - "2019-01-12T00:00:00", - "2019-01-13T00:00:00", - "2019-01-14T00:00:00", - "2019-01-15T00:00:00", - "2019-01-16T00:00:00", - "2019-01-17T00:00:00", - "2019-01-18T00:00:00", - "2019-01-19T00:00:00", - "2019-01-20T00:00:00", - "2019-01-21T00:00:00", - "2019-01-22T00:00:00", - "2019-01-23T00:00:00", - "2019-01-24T00:00:00", - "2019-01-25T00:00:00", - "2019-01-26T00:00:00", - "2019-01-27T00:00:00", - "2019-01-28T00:00:00", - "2019-01-29T00:00:00", - "2019-01-30T00:00:00", - "2019-01-31T00:00:00", - "2019-02-01T00:00:00", - "2019-02-02T00:00:00", - "2019-02-03T00:00:00", - "2019-02-04T00:00:00", - "2019-02-05T00:00:00", - "2019-02-06T00:00:00", - "2019-02-07T00:00:00", - "2019-02-08T00:00:00", - "2019-02-09T00:00:00", - "2019-02-10T00:00:00", - "2019-02-11T00:00:00", - "2019-02-12T00:00:00", - "2019-02-13T00:00:00", - "2019-02-14T00:00:00", - "2019-02-15T00:00:00", - "2019-02-16T00:00:00", - "2019-02-17T00:00:00", - "2019-02-18T00:00:00", - "2019-02-19T00:00:00", - "2019-02-20T00:00:00", - "2019-02-21T00:00:00", - "2019-02-22T00:00:00", - "2019-02-23T00:00:00", - "2019-02-24T00:00:00", - "2019-02-25T00:00:00", - "2019-02-26T00:00:00", - "2019-02-27T00:00:00", - "2019-02-28T00:00:00", - "2019-03-01T00:00:00", - "2019-03-02T00:00:00", - "2019-03-03T00:00:00", - "2019-03-04T00:00:00", - "2019-03-05T00:00:00", - "2019-03-06T00:00:00", - "2019-03-07T00:00:00", - "2019-03-08T00:00:00", - "2019-03-09T00:00:00", - "2019-03-10T00:00:00", - "2019-03-11T00:00:00", - "2019-03-12T00:00:00", - "2019-03-13T00:00:00", - "2019-03-14T00:00:00", - "2019-03-15T00:00:00", - "2019-03-16T00:00:00", - "2019-03-17T00:00:00", - "2019-03-18T00:00:00", - "2019-03-19T00:00:00", - "2019-03-20T00:00:00", - "2019-03-21T00:00:00", - "2019-03-22T00:00:00", - "2019-03-23T00:00:00", - "2019-03-24T00:00:00", - "2019-03-25T00:00:00", - "2019-03-26T00:00:00", - "2019-03-27T00:00:00", - "2019-03-28T00:00:00", - "2019-03-29T00:00:00", - "2019-03-30T00:00:00", - "2019-03-31T00:00:00", - "2019-04-01T00:00:00", - "2019-04-02T00:00:00", - "2019-04-03T00:00:00", - "2019-04-04T00:00:00", - "2019-04-05T00:00:00", - "2019-04-06T00:00:00", - "2019-04-07T00:00:00", - "2019-04-08T00:00:00", - "2019-04-09T00:00:00", - "2019-04-10T00:00:00", - "2019-04-11T00:00:00", - "2019-04-12T00:00:00", - "2019-04-13T00:00:00", - "2019-04-14T00:00:00", - "2019-04-15T00:00:00", - "2019-04-16T00:00:00", - "2019-04-17T00:00:00", - "2019-04-18T00:00:00", - "2019-04-19T00:00:00", - "2019-04-20T00:00:00", - "2019-04-21T00:00:00", - "2019-04-22T00:00:00", - "2019-04-23T00:00:00", - "2019-04-24T00:00:00", - "2019-04-25T00:00:00", - "2019-04-26T00:00:00", - "2019-04-27T00:00:00", - "2019-04-28T00:00:00", - "2019-04-29T00:00:00", - "2019-04-30T00:00:00", - "2019-05-01T00:00:00", - "2019-05-02T00:00:00", - "2019-05-03T00:00:00", - "2019-05-04T00:00:00", - "2019-05-05T00:00:00", - "2019-05-06T00:00:00", - "2019-05-07T00:00:00", - "2019-05-08T00:00:00", - "2019-05-09T00:00:00", - "2019-05-10T00:00:00", - "2019-05-11T00:00:00", - "2019-05-12T00:00:00", - "2019-05-13T00:00:00", - "2019-05-14T00:00:00", - "2019-05-15T00:00:00", - "2019-05-16T00:00:00", - "2019-05-17T00:00:00", - "2019-05-18T00:00:00", - "2019-05-19T00:00:00", - "2019-05-20T00:00:00", - "2019-05-21T00:00:00", - "2019-05-22T00:00:00", - "2019-05-23T00:00:00", - "2019-05-24T00:00:00", - "2019-05-25T00:00:00", - "2019-05-26T00:00:00", - "2019-05-27T00:00:00", - "2019-05-28T00:00:00", - "2019-05-29T00:00:00", - "2019-05-30T00:00:00", - "2019-05-31T00:00:00", - "2019-06-01T00:00:00", - "2019-06-02T00:00:00", - "2019-06-03T00:00:00", - "2019-06-04T00:00:00", - "2019-06-05T00:00:00", - "2019-06-06T00:00:00", - "2019-06-07T00:00:00", - "2019-06-08T00:00:00", - "2019-06-09T00:00:00", - "2019-06-10T00:00:00", - "2019-06-11T00:00:00", - "2019-06-12T00:00:00", - "2019-06-13T00:00:00", - "2019-06-14T00:00:00", - "2019-06-15T00:00:00", - "2019-06-16T00:00:00", - "2019-06-17T00:00:00", - "2019-06-18T00:00:00", - "2019-06-19T00:00:00", - "2019-06-20T00:00:00", - "2019-06-21T00:00:00", - "2019-06-22T00:00:00", - "2019-06-23T00:00:00", - "2019-06-24T00:00:00", - "2019-06-25T00:00:00", - "2019-06-26T00:00:00", - "2019-06-27T00:00:00", - "2019-06-28T00:00:00", - "2019-06-29T00:00:00", - "2019-06-30T00:00:00", - "2019-07-01T00:00:00", - "2019-07-02T00:00:00", - "2019-07-03T00:00:00", - "2019-07-04T00:00:00", - "2019-07-05T00:00:00", - "2019-07-06T00:00:00", - "2019-07-07T00:00:00", - "2019-07-08T00:00:00", - "2019-07-09T00:00:00", - "2019-07-10T00:00:00", - "2019-07-11T00:00:00", - "2019-07-12T00:00:00", - "2019-07-13T00:00:00", - "2019-07-14T00:00:00", - "2019-07-15T00:00:00", - "2019-07-16T00:00:00", - "2019-07-17T00:00:00", - "2019-07-18T00:00:00", - "2019-07-19T00:00:00", - "2019-07-20T00:00:00", - "2019-07-21T00:00:00", - "2019-07-22T00:00:00", - "2019-07-23T00:00:00", - "2019-07-24T00:00:00", - "2019-07-25T00:00:00", - "2019-07-26T00:00:00", - "2019-07-27T00:00:00", - "2019-07-28T00:00:00", - "2019-07-29T00:00:00", - "2019-07-30T00:00:00", - "2019-07-31T00:00:00", - "2019-08-01T00:00:00", - "2019-08-02T00:00:00", - "2019-08-03T00:00:00", - "2019-08-04T00:00:00", - "2019-08-05T00:00:00", - "2019-08-06T00:00:00", - "2019-08-07T00:00:00", - "2019-08-08T00:00:00", - "2019-08-09T00:00:00", - "2019-08-10T00:00:00", - "2019-08-11T00:00:00", - "2019-08-12T00:00:00", - "2019-08-13T00:00:00", - "2019-08-14T00:00:00", - "2019-08-15T00:00:00", - "2019-08-16T00:00:00", - "2019-08-17T00:00:00", - "2019-08-18T00:00:00", - "2019-08-19T00:00:00", - "2019-08-20T00:00:00", - "2019-08-21T00:00:00", - "2019-08-22T00:00:00", - "2019-08-23T00:00:00", - "2019-08-24T00:00:00" - ], - "xaxis": "x", - "y": [ - 50, - 49.5, - 54.666666666666664, - 81.5, - 103.4, - 94, - 87.28571428571429, - 86.71428571428571, - 88, - 89.71428571428571, - 86.42857142857143, - 81.28571428571429, - 83.57142857142857, - 85.42857142857143, - 87.57142857142857, - 89, - 89.42857142857143, - 90.42857142857143, - 96.71428571428571, - 98.42857142857143, - 98.57142857142857, - 99, - 101.28571428571429, - 107.28571428571429, - 118, - 122.28571428571429, - 121.85714285714286, - 119.85714285714286, - 116, - 113.57142857142857, - 108.28571428571429, - 104, - 111.85714285714286, - 128, - 128.85714285714286, - 128.71428571428572, - 124.71428571428571, - 124, - 125.28571428571429, - 110, - 94.57142857142857, - 96.28571428571429, - 99.42857142857143, - 103.14285714285714, - 103.28571428571429, - 107.71428571428571, - 112.14285714285714, - 110.28571428571429, - 108, - 110.14285714285714, - 111.71428571428571, - 110.28571428571429, - 111.14285714285714, - 113.28571428571429, - 113.85714285714286, - 116, - 113.85714285714286, - 111.71428571428571, - 117.28571428571429, - 117.57142857142857, - 120.28571428571429, - 119.85714285714286, - 118.85714285714286, - 117.85714285714286, - 117.71428571428571, - 117.14285714285714, - 111.28571428571429, - 103.57142857142857, - 105.28571428571429, - 104.57142857142857, - 105.71428571428571, - 104.71428571428571, - 102.42857142857143, - 101.14285714285714, - 98.14285714285714, - 99.71428571428571, - 101.85714285714286, - 102.85714285714286, - 106.28571428571429, - 107.57142857142857, - 106.28571428571429, - 102.14285714285714, - 98.71428571428571, - 99.85714285714286, - 99.28571428571429, - 96.71428571428571, - 98.42857142857143, - 95.14285714285714, - 102, - 103.71428571428571, - 102.85714285714286, - 106.14285714285714, - 108.85714285714286, - 103.14285714285714, - 106, - 103.14285714285714, - 104.14285714285714, - 102.14285714285714, - 100.28571428571429, - 99.14285714285714, - 100.42857142857143, - 95.42857142857143, - 93, - 92.28571428571429, - 94.14285714285714, - 91.57142857142857, - 89.28571428571429, - 88.14285714285714, - 89.28571428571429, - 88.42857142857143, - 86.57142857142857, - 85.57142857142857, - 89.42857142857143, - 102.28571428571429, - 112.42857142857143, - 106.57142857142857, - 101.85714285714286, - 102.28571428571429, - 102, - 99.71428571428571, - 88.71428571428571, - 83, - 86.85714285714286, - 92, - 93.57142857142857, - 94.28571428571429, - 95.28571428571429, - 92.42857142857143, - 91.14285714285714, - 93.42857142857143, - 95.85714285714286, - 95.85714285714286, - 96, - 95.28571428571429, - 97, - 97.14285714285714, - 94.57142857142857, - 92.14285714285714, - 90, - 90.28571428571429, - 88.42857142857143, - 88.85714285714286, - 85.28571428571429, - 81, - 77.57142857142857, - 84.42857142857143, - 96.85714285714286, - 98, - 100.28571428571429, - 103.42857142857143, - 105.85714285714286, - 106.85714285714286, - 108.42857142857143, - 114.71428571428571, - 116.42857142857143, - 114.57142857142857, - 112.42857142857143, - 111.42857142857143, - 112, - 103.28571428571429, - 84.85714285714286, - 82, - 79.57142857142857, - 82, - 83.85714285714286, - 87.85714285714286, - 88.42857142857143, - 86.57142857142857, - 87.14285714285714, - 91.42857142857143, - 90.28571428571429, - 90.85714285714286, - 84.42857142857143, - 87, - 90.71428571428571, - 92.28571428571429, - 87.85714285714286, - 87, - 90.14285714285714, - 94, - 93.28571428571429, - 90.71428571428571, - 89.85714285714286, - 94, - 95.28571428571429, - 94.28571428571429, - 96.14285714285714, - 94.57142857142857, - 95.14285714285714, - 93.57142857142857, - 92.42857142857143, - 91.14285714285714, - 87.71428571428571, - 85.28571428571429, - 83.85714285714286, - 84, - 84.85714285714286, - 87, - 90.42857142857143, - 92.28571428571429, - 92.14285714285714, - 96.28571428571429, - 96, - 101.14285714285714, - 98.71428571428571, - 100, - 100.71428571428571, - 100, - 96.28571428571429, - 95.71428571428571, - 90.85714285714286, - 94, - 89.85714285714286, - 89.57142857142857, - 89.14285714285714, - 89.14285714285714, - 90.42857142857143, - 89.85714285714286, - 86.28571428571429, - 87.71428571428571, - 89.14285714285714, - 91.14285714285714, - 94.57142857142857, - 94.28571428571429, - 95, - 97.14285714285714, - 99.14285714285714, - 99.28571428571429, - 103, - 103.28571428571429, - 99.42857142857143, - 103.14285714285714, - 101.42857142857143, - 95.57142857142857, - 95.42857142857143, - 95.14285714285714, - 91.42857142857143, - 94, - 91.28571428571429, - 93.71428571428571, - 99.85714285714286, - 107, - 106.14285714285714, - 110.42857142857143, - 114.57142857142857, - 113.71428571428571, - 115.42857142857143, - 112.85714285714286, - 110.85714285714286, - 117, - 114, - 112.57142857142857, - 114.71428571428571, - 110.28571428571429, - 111, - 116, - 116.42857142857143, - 115.14285714285714, - 114.71428571428571, - 114, - 115.71428571428571, - 117.42857142857143, - 109.28571428571429, - 106.85714285714286, - 110.14285714285714, - 111.57142857142857, - 113.14285714285714, - 113.28571428571429, - 110.71428571428571, - 112.71428571428571, - 114.42857142857143, - 113.42857142857143, - 113.57142857142857, - 111.85714285714286, - 112, - 113.42857142857143, - 125.42857142857143, - 123.85714285714286, - 124.14285714285714, - 122.28571428571429, - 126.85714285714286, - 126.71428571428571, - 125.85714285714286, - 122.14285714285714, - 125.14285714285714, - 127, - 125, - 121, - 123.57142857142857, - 124, - 131.14285714285714, - 137.42857142857142, - 137.71428571428572, - 141.14285714285714, - 146.28571428571428, - 148, - 150.85714285714286, - 144.28571428571428, - 149.71428571428572, - 182.14285714285714, - 182.14285714285714, - 174.71428571428572, - 168.42857142857142, - 168.28571428571428, - 179.28571428571428, - 171, - 136.28571428571428, - 138.14285714285714, - 139.14285714285714, - 142.57142857142858, - 145, - 138, - 141.28571428571428, - 141.42857142857142, - 139, - 143.42857142857142, - 139.14285714285714, - 136, - 142.42857142857142, - 153.42857142857142, - 157.42857142857142, - 153.42857142857142, - 148.85714285714286, - 149, - 148.14285714285714, - 147.14285714285714, - 144.14285714285714, - 140, - 143.14285714285714, - 147, - 148.57142857142858, - 138.42857142857142, - 113.71428571428571, - 103.71428571428571, - 107.85714285714286, - 107.85714285714286, - 106.14285714285714, - 122.28571428571429, - 136, - 140, - 129, - 124.57142857142857, - 121.85714285714286, - 117.28571428571429, - 97, - 90.85714285714286, - 98.42857142857143, - 102.71428571428571, - 99.28571428571429, - 99.57142857142857, - 99.28571428571429, - 100.71428571428571, - 98.71428571428571, - 91, - 80.71428571428571, - 80.28571428571429, - 81.71428571428571, - 83.28571428571429, - 84.57142857142857, - 87.14285714285714, - 88.28571428571429, - 96.28571428571429, - 97.28571428571429, - 94.71428571428571, - 94.28571428571429, - 93.71428571428571, - 92.57142857142857, - 91.42857142857143, - 87, - 88.42857142857143, - 89.85714285714286, - 87.42857142857143, - 88, - 87, - 98.85714285714286, - 105.85714285714286, - 105.71428571428571, - 104.71428571428571, - 107.28571428571429, - 107.85714285714286, - 111.57142857142857, - 109.14285714285714, - 107.42857142857143, - 107.14285714285714, - 108.14285714285714, - 106.85714285714286, - 106.71428571428571, - 107.57142857142857, - 80.28571428571429 - ], - "yaxis": "y" - } - ], - "layout": { - "autosize": true, - "legend": { - "tracegroupgap": 0 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "7-day rolling average of noise complaints per day" - }, - "xaxis": { - "anchor": "y", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - "2018-08-01", - "2019-08-24" - ], - "title": { - "text": "Created Date" - }, - "type": "date" - }, - "yaxis": { - "anchor": "x", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 42.13095238095238, - 189.51190476190476 - ], - "title": { - "text": "count_requests" - }, - "type": "linear" - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "DataError", + "evalue": "Cannot aggregate non-numeric type: object", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:370\u001b[0m, in \u001b[0;36mBaseWindow._prep_values\u001b[0;34m(self, values)\u001b[0m\n\u001b[1;32m 369\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 370\u001b[0m values \u001b[38;5;241m=\u001b[39m \u001b[43mensure_float64\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalues\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 371\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mValueError\u001b[39;00m, \u001b[38;5;167;01mTypeError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n", + "File \u001b[0;32mpandas/_libs/algos_common_helper.pxi:42\u001b[0m, in \u001b[0;36mpandas._libs.algos.ensure_float64\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: could not convert string to float: 'Wednesday'", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:487\u001b[0m, in \u001b[0;36mBaseWindow._apply_blockwise\u001b[0;34m(self, homogeneous_func, name, numeric_only)\u001b[0m\n\u001b[1;32m 486\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 487\u001b[0m arr \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_prep_values\u001b[49m\u001b[43m(\u001b[49m\u001b[43marr\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 488\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mTypeError\u001b[39;00m, \u001b[38;5;167;01mNotImplementedError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:372\u001b[0m, in \u001b[0;36mBaseWindow._prep_values\u001b[0;34m(self, values)\u001b[0m\n\u001b[1;32m 371\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mValueError\u001b[39;00m, \u001b[38;5;167;01mTypeError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 372\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcannot handle this type -> \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalues\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m 374\u001b[0m \u001b[38;5;66;03m# Convert inf to nan for C funcs\u001b[39;00m\n", + "\u001b[0;31mTypeError\u001b[0m: cannot handle this type -> object", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mDataError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[36], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m noise_per_day_rolling \u001b[38;5;241m=\u001b[39m \u001b[43mnoise_per_day\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrolling\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m7D\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mon\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCreated Date\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmean\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m noise_per_day_rolling\u001b[38;5;241m.\u001b[39mplot\u001b[38;5;241m.\u001b[39mline(\n\u001b[1;32m 4\u001b[0m x\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCreated Date\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 5\u001b[0m y\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcount_requests\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 6\u001b[0m title\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m7-day rolling average of noise complaints per day\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 7\u001b[0m )\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:2253\u001b[0m, in \u001b[0;36mRolling.mean\u001b[0;34m(self, numeric_only, engine, engine_kwargs)\u001b[0m\n\u001b[1;32m 2210\u001b[0m \u001b[38;5;129m@doc\u001b[39m(\n\u001b[1;32m 2211\u001b[0m template_header,\n\u001b[1;32m 2212\u001b[0m create_section_header(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mParameters\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 2251\u001b[0m engine_kwargs: \u001b[38;5;28mdict\u001b[39m[\u001b[38;5;28mstr\u001b[39m, \u001b[38;5;28mbool\u001b[39m] \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 2252\u001b[0m ):\n\u001b[0;32m-> 2253\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmean\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 2254\u001b[0m \u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnumeric_only\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2255\u001b[0m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2256\u001b[0m \u001b[43m \u001b[49m\u001b[43mengine_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mengine_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2257\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:1620\u001b[0m, in \u001b[0;36mRollingAndExpandingMixin.mean\u001b[0;34m(self, numeric_only, engine, engine_kwargs)\u001b[0m\n\u001b[1;32m 1618\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_numba_apply(sliding_mean, engine_kwargs)\n\u001b[1;32m 1619\u001b[0m window_func \u001b[38;5;241m=\u001b[39m window_aggregations\u001b[38;5;241m.\u001b[39mroll_mean\n\u001b[0;32m-> 1620\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_apply\u001b[49m\u001b[43m(\u001b[49m\u001b[43mwindow_func\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmean\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnumeric_only\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:617\u001b[0m, in \u001b[0;36mBaseWindow._apply\u001b[0;34m(self, func, name, numeric_only, numba_args, **kwargs)\u001b[0m\n\u001b[1;32m 614\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n\u001b[1;32m 616\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmethod \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msingle\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 617\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_apply_blockwise\u001b[49m\u001b[43m(\u001b[49m\u001b[43mhomogeneous_func\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 618\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 619\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_apply_tablewise(homogeneous_func, name, numeric_only)\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/core/window/rolling.py:489\u001b[0m, in \u001b[0;36mBaseWindow._apply_blockwise\u001b[0;34m(self, homogeneous_func, name, numeric_only)\u001b[0m\n\u001b[1;32m 487\u001b[0m arr \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_prep_values(arr)\n\u001b[1;32m 488\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mTypeError\u001b[39;00m, \u001b[38;5;167;01mNotImplementedError\u001b[39;00m) \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 489\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m DataError(\n\u001b[1;32m 490\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCannot aggregate non-numeric type: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00marr\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 491\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m 492\u001b[0m res \u001b[38;5;241m=\u001b[39m homogeneous_func(arr)\n\u001b[1;32m 493\u001b[0m res_values\u001b[38;5;241m.\u001b[39mappend(res)\n", + "\u001b[0;31mDataError\u001b[0m: Cannot aggregate non-numeric type: object" + ] } ], "source": [ "noise_per_day_rolling = noise_per_day.rolling(\"7D\", on=\"Created Date\").mean()\n", "\n", - "fig = px.line(\n", - " noise_per_day_rolling,\n", + "noise_per_day_rolling.plot.line(\n", " x=\"Created Date\",\n", " y=\"count_requests\",\n", " title=\"7-day rolling average of noise complaints per day\",\n", - ")\n", - "fig.show()" + ")" ] }, { @@ -4359,1046 +973,29 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 37, "metadata": {}, "outputs": [ { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "Created Date=%{x}
count_requests=%{y}", - "legendgroup": "", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines", - "name": "", - "orientation": "v", - "showlegend": false, - "type": "scatter", - "x": [ - "2018-08-05T00:00:00", - "2018-08-12T00:00:00", - "2018-08-19T00:00:00", - "2018-08-26T00:00:00", - "2018-09-02T00:00:00", - "2018-09-09T00:00:00", - "2018-09-16T00:00:00", - "2018-09-23T00:00:00", - "2018-09-30T00:00:00", - "2018-10-07T00:00:00", - "2018-10-14T00:00:00", - "2018-10-21T00:00:00", - "2018-10-28T00:00:00", - "2018-11-04T00:00:00", - "2018-11-11T00:00:00", - "2018-11-18T00:00:00", - "2018-11-25T00:00:00", - "2018-12-02T00:00:00", - "2018-12-09T00:00:00", - "2018-12-16T00:00:00", - "2018-12-23T00:00:00", - "2018-12-30T00:00:00", - "2019-01-06T00:00:00", - "2019-01-13T00:00:00", - "2019-01-20T00:00:00", - "2019-01-27T00:00:00", - "2019-02-03T00:00:00", - "2019-02-10T00:00:00", - "2019-02-17T00:00:00", - "2019-02-24T00:00:00", - "2019-03-03T00:00:00", - "2019-03-10T00:00:00", - "2019-03-17T00:00:00", - "2019-03-24T00:00:00", - "2019-03-31T00:00:00", - "2019-04-07T00:00:00", - "2019-04-14T00:00:00", - "2019-04-21T00:00:00", - "2019-04-28T00:00:00", - "2019-05-05T00:00:00", - "2019-05-12T00:00:00", - "2019-05-19T00:00:00", - "2019-05-26T00:00:00", - "2019-06-02T00:00:00", - "2019-06-09T00:00:00", - "2019-06-16T00:00:00", - "2019-06-23T00:00:00", - "2019-06-30T00:00:00", - "2019-07-07T00:00:00", - "2019-07-14T00:00:00", - "2019-07-21T00:00:00", - "2019-07-28T00:00:00", - "2019-08-04T00:00:00", - "2019-08-11T00:00:00", - "2019-08-18T00:00:00", - "2019-08-25T00:00:00" - ], - "xaxis": "x", - "y": [ - 517, - 569, - 677, - 856, - 783, - 770, - 785, - 793, - 842, - 725, - 687, - 715, - 714, - 722, - 651, - 619, - 713, - 644, - 671, - 645, - 543, - 748, - 784, - 615, - 591, - 658, - 673, - 597, - 645, - 700, - 624, - 638, - 721, - 666, - 743, - 819, - 815, - 748, - 801, - 867, - 876, - 962, - 1048, - 1197, - 989, - 1074, - 1009, - 726, - 903, - 719, - 565, - 674, - 609, - 741, - 752, - 373 - ], - "yaxis": "y" - } - ], - "layout": { - "autosize": true, - "legend": { - "tracegroupgap": 0 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "title": { - "text": "Noise complaints per week" - }, - "xaxis": { - "anchor": "y", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - "2018-08-05", - "2019-08-25" - ], - "title": { - "text": "Created Date" - }, - "type": "date" - }, - "yaxis": { - "anchor": "x", - "autorange": true, - "domain": [ - 0, - 1 - ], - "range": [ - 327.22222222222223, - 1242.7777777777778 - ], - "title": { - "text": "count_requests" - }, - "type": "linear" - } - } - }, - "text/html": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "ImportError", + "evalue": "matplotlib is required for plotting when the default backend \"matplotlib\" is selected.", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[37], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m noise_per_week \u001b[38;5;241m=\u001b[39m noise\u001b[38;5;241m.\u001b[39mresample(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mW\u001b[39m\u001b[38;5;124m\"\u001b[39m, on\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCreated Date\u001b[39m\u001b[38;5;124m\"\u001b[39m)\u001b[38;5;241m.\u001b[39msize()\u001b[38;5;241m.\u001b[39mreset_index(name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcount_requests\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m----> 3\u001b[0m fig \u001b[38;5;241m=\u001b[39m \u001b[43mnoise_per_week\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mline\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCreated Date\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcount_requests\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mtitle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mNoise complaints per week\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m fig\u001b[38;5;241m.\u001b[39mshow()\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1101\u001b[0m, in \u001b[0;36mPlotAccessor.line\u001b[0;34m(self, x, y, **kwargs)\u001b[0m\n\u001b[1;32m 1035\u001b[0m \u001b[38;5;129m@Appender\u001b[39m(\n\u001b[1;32m 1036\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1037\u001b[0m \u001b[38;5;124;03m See Also\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1093\u001b[0m \u001b[38;5;28mself\u001b[39m, x: Hashable \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m, y: Hashable \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 1094\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m PlotAccessor:\n\u001b[1;32m 1095\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1096\u001b[0m \u001b[38;5;124;03m Plot Series or DataFrame as lines.\u001b[39;00m\n\u001b[1;32m 1097\u001b[0m \n\u001b[1;32m 1098\u001b[0m \u001b[38;5;124;03m This function is useful to plot lines using DataFrame's values\u001b[39;00m\n\u001b[1;32m 1099\u001b[0m \u001b[38;5;124;03m as coordinates.\u001b[39;00m\n\u001b[1;32m 1100\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1101\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mkind\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mline\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:951\u001b[0m, in \u001b[0;36mPlotAccessor.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 950\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m--> 951\u001b[0m plot_backend \u001b[38;5;241m=\u001b[39m \u001b[43m_get_plot_backend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mbackend\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 953\u001b[0m x, y, kind, kwargs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_call_args(\n\u001b[1;32m 954\u001b[0m plot_backend\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_parent, args, kwargs\n\u001b[1;32m 955\u001b[0m )\n\u001b[1;32m 957\u001b[0m kind \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_kind_aliases\u001b[38;5;241m.\u001b[39mget(kind, kind)\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1947\u001b[0m, in \u001b[0;36m_get_plot_backend\u001b[0;34m(backend)\u001b[0m\n\u001b[1;32m 1944\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m backend_str \u001b[38;5;129;01min\u001b[39;00m _backends:\n\u001b[1;32m 1945\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _backends[backend_str]\n\u001b[0;32m-> 1947\u001b[0m module \u001b[38;5;241m=\u001b[39m \u001b[43m_load_backend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbackend_str\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1948\u001b[0m _backends[backend_str] \u001b[38;5;241m=\u001b[39m module\n\u001b[1;32m 1949\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\n", + "File \u001b[0;32m/opt/homebrew/Caskroom/mambaforge/base/envs/python-public-policy/lib/python3.10/site-packages/pandas/plotting/_core.py:1877\u001b[0m, in \u001b[0;36m_load_backend\u001b[0;34m(backend)\u001b[0m\n\u001b[1;32m 1875\u001b[0m module \u001b[38;5;241m=\u001b[39m importlib\u001b[38;5;241m.\u001b[39mimport_module(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpandas.plotting._matplotlib\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 1876\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[0;32m-> 1877\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(\n\u001b[1;32m 1878\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmatplotlib is required for plotting when the \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1879\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdefault backend \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmatplotlib\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m is selected.\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 1880\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1881\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m module\n\u001b[1;32m 1883\u001b[0m found_backend \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n", + "\u001b[0;31mImportError\u001b[0m: matplotlib is required for plotting when the default backend \"matplotlib\" is selected." + ] } ], "source": [ "noise_per_week = noise.resample(\"W\", on=\"Created Date\").size().reset_index(name=\"count_requests\")\n", "\n", - "fig = px.line(\n", - " noise_per_week,\n", + "fig = noise_per_week.plot.line(\n", " x=\"Created Date\",\n", " y=\"count_requests\",\n", " title=\"Noise complaints per week\",\n",