Midterm Project

Visualizations

Visualizations

Neighborhooods vs. call type group heatmap


        Heatmap represents Neighborhooods vs. Call Type Group.
        Color shows sum of number of incidents by each call type group. Response time by minutes and number of incidents are shown on tooltips.
        The Call Type Group filter keeps all not null values. The Neighborhooods filter keeps 10 of 42 members sorted by alphabet.
        Data acquired from "Fire Department Calls for Service" from https://data.sfgov.org/.
Elizaveta Ozerova

Data Encoding

This data represents points from 2015 onward. The heatmap shows top 10 neighborhood values. All null values were removed. The respose time in minutes was counted using Tableau formula: DATEDIFF('minute',[Received DtTm],[Dispatch DtTm]). It gets the different between Received time and Dispatch time in minutes.s The data was downloaded from Tableau prototype implementation and can be found here.

Instructions

The heatmap includes two numerical data points that should be known precisely (minutes and number of incidents). The interactivity allows us to show the number of incidents and the response time in minutes for each cell. Also it allows to see colored heatmap for both number of incidents or response time in minutes. You can switch between two modes using the radio button. Interactivity example:

Interactivity

Analysis

From the heatmap we can see which neighborhoods get the slowest and the fastest response times and how it correlates with number of incidents in a particular neighborhood. For example, Tenderloin has a lot of "Potentially Life-Threatening incidents" and the response time is fast, though for Castro/Upper Market neighborhood we can see that the amount of "Fire" incidents is very low, while the response time is very high. From such examples we can make a conclusion that there may be a possible correlation between response time and number of incidents. The more incidents happens in a particular area, the faster this area is being processed.

Inspirations

Thanks Sophie Engle for code examples.
Heatmap interactive code example
Basic heatmap code example
Basic heatmap code example 2
Continuous Legend
How to create a continuous colour range legend using D3 and d3fc
Interactivity examples


Response process time for each call type barchart


        Barchart represents average of response process time for each Call Type broken down by Call Type Group.
        Color shows sum of number of incidents by each call type. The Call Type Group filter keeps all not null values.
        The number of incidents is filtered by ranges from 1,500 to 731,722.
        Data acquired from "Fire Department Calls for Service" from https://data.sfgov.org/.
Elizaveta Ozerova

Data Encoding

This data represents points from 2015 onward. The bar chart shows values where the amount of alarms is bigger than 1500. All null values were removed. The data was downloaded from Tableau prototype implementation and can be found here.

Instructions

The interactivity for the bar chart allows us to draw a line for each bar to compare different events and see response time in minutes for each bar. Interactivity example:

Interactivity

Analysis

Using the barchart we can learn about response time for each call type in details. We can learn that "Structure fire" takes 10 minutes in average to process, while other fires take no more than 5 minutes.
If we were to have more data on how the fire department prepares for each call, we could assess whether the fire departments need to facilitate processes for structure fires. It's also important to take into account that call types may be processed twice, meaning that the response time between answering to a structure fire in an "alarm" call type group and answering to a structure fire in the "fire" call type group may be the same call, and it would make sense for the call to be an alarm call first, and a fire call second, while having the same initial dispatch time.
Using this information we may write some recommendations for training for "Structure fire" calls, or look depeer into the data to see if the calls need to be labeled more efficiently. However other variables that may be taken into account is whether all departments can respond to the same type of calls, and whether distance or traffic is a factor when dealing with these calls. We can also learn that Potentially Life-Threatening calls take between 2 and 3 minutes, while Outside Fire calls take around 1 minute of processing time.
So, we can write recommendations in building a comparative analysis between Outside Fire response process and Potentially Life-Threatening response process. This analysis may show how to improve the timing for more dangerous calls. Another point to keep in mind is that outside fires do not happen very frequently, and would be interesting to analyze whether they are date specific related (for example 4th of July), which would make the fire departments prepared for outside fires in specific outside areas (for example: barbeque areas in parks).

Inspirations

Thanks Sophie Engle for code examples.
Simple d3.js bar chart
Simple bar graph in v4
Building Interactive Bar Charts with JavaScript
Continuous Legend
How to create a continuous colour range legend using D3 and d3fc
Interactivity examples