Project Goals
We plan to investigate what are the underlying symptoms of police violence. Our end users of these visualizations are the general public. We want to create an interactive narrative that would accompany a news article or something like a 538 article. We hope to gain a greater understanding of what leads to police killings and share that understanding with the public and policy makers so they can make more informed decisions.
Data
Development Process
For our final design, our group chose to allow users to interact with and explore the police killing dataset that we wrangled via crossfiltering. To accomplish this, we used a library built on top of d3.js called dc.js, and the crossfilter library shown in class. Our interactive design was inspired by looking at other exploratory datasets shown in class, such as the NameVoyager. We wanted to take the interest of exploring different baby names over time and apply the same level of interaction to the police killings dataset. The dc.js library helped us a lot by providing many high level functions in order to create line charts and pie charts, and provided support for crossfiltering any chart rendered by the library. Our main design tradeoffs came from choosing what variables to allow filtering on. We decided to focus on filters relating to singular percentages and categories, such as median household income for the county the incident occurred in, and percentage of people in the county where the incident occurred with Bachelor level education or higher. We had census data relating to the percentages of each ethnicities in the counties where incidents occurred, but chose not to allow filtering on these percentages because we had a difficult time encoding each percentage into a visualization to filter on and didn't want to clutter our visualization with too many filter options. In order to reduce clutter, we combined two of our visualizations into one filter visualization, making a scatterplot of education levels versus percentage of people in the county below the poverty line. We felt as if this was better than including a bar chart for each individual visualization to reduce visual clutter and allowed us to show the relationship between what we believe to be correlated variables. For our development process, all group members contributed to the data wrangling portion. We took police killing datasets from the Guardian and the Washington Post and combined them in order to get more information. Anton worked on using geocoding to convert the addresses from the police killings dataset into counties so that we could combine the data to related Census data, since we could only find Census data by county. Anton and Danial worked on finding and cleaning the Census data and the police killings data so that they could be joined. Ishan and Anton worked to get an initial map of our data working in d3.js, and Anton, Ishan, Danial and Shiv worked towards finishing up the final visualization, working to make the visualization work with the d3.js library's filtering capabilities. We spent about 20 to 25 hours as a group on the project, and we roughly estimate around 30 to 40 people hours. Data wrangling took a surprising amount of time to get right, but implementing the visualization in JavaScript with d3.js and dc.js took a substantial amount of time as well. A good deal of time was spent getting the hang of d3.js and dc.js, but hopefully the experience gained will prove useful in later phases of the project.