IS445 Assignment 10

Disclaimer: The UFO sighting dataset used in this learning exercise is for educational purposes only and is not intended to promote or endorse any conspiracy theories or beliefs. The dataset is freely available and has been widely used in data visualization and analysis communities to practice and showcase data visualization techniques using tools such as Altair and Vega-Lite. The creators and providers of the dataset do not endorse or support any conspiracy theories or claims related to UFO sightings. We urge all users to approach this dataset with a critical and objective mindset and to not draw any unsupported conclusions or claims from the data presented in this exercise. (Disclaimer generated by ChatGPT)

Dashboard of Heatmap and Bar Chart

The first chart is a dashboard consisting of a heatmap and a bar chart. The heatmap shows the number of ufo sightings by state binned by the wind speed. The bar chart shows the number of ufo sightings by state. The bar chart is linked to the heatmap so that when you select a region on the heatmap, the bar chart will only show the states in that region.

Since the states are a discrete quantity, I chose the 'nominal' data type for the state variable. The wind speed is a continuous quantity, so I chose the 'quantitative' data type for it. The number of sightings in the bar chart is an aggregation of the data, to be more specific, it is the count of the number of sightings, so I chose the 'quantitative' data type for it. The same applies for the color of the heatmap. As colorscheme for the heatmap I chose 'blues' because it is a sequential color scheme and it is easy to see the difference between the different shades of blue. In the heatmap I am coloring by the number of datapoints per bin. To display the data in the heatmap, it has been transformed into bins. The data for the bar chart has been aggregated (i.e. counted). "For the coloring [of the bar chart], I stayed with the default blue because the color does not matter here (it should just be good visible)" (from assignment 9) and it fits the scheme of the heatmap.

The bar chart is the same as in my submission for assigment 9. To make it work with altair, I just had to copy and paste the specification-dictionnairy into the alt.Chart.from_dict-function. Of course, I also had to add my brush to create the connection to the heatmap.

Heatmap of UFO Sightings

This second chart shows the geographica distribution of ufo sightings over the United States. Moreover it allows the user to select different states from a dropdown list to highlight the sightings there.

The map consits of two layers: (1) the map itself and (2) the data points. The data for the map can be found here. The data type of the map is geojson and the albersUsa-projection is applied to it. The data points are specified by their longitude and latitude which both are quantitative. With the selection comes a predicat that is used for coloring the data points depending on their states. I stayed with the default color scheme since it allows to easily distinguish between the different states.

I already had a static map showing the geographic distribution of ufo sightings over the United States for my submission of assignment 9. To make it work with altair and to add the selection tool for the states, I had to split the visualization up into two different charts that I then combined: us_map + sightings_map. As this is a dynamic visulaization, I also needed to configure and add the selection tool.

The interactivity of the map allows the user to focus on the data points of a specific state without being influenced by surrounding data. It helps keeping a better overview and to focus on the data of interest.