Posts

Final project in this class Spring 2025

Image
Final Project: U.S. State Public-School Expenditures   Name: Issaiah Jennings   Course: LIS4317.001S25.15856 – Visual Analytics   Semester: Spring 2025   Software Used: RStudio   Step 1: Selecting the Dataset For this project, I decided to work with the Anscombe U.S. State Public-School Expenditures dataset, which comes built into R, so it was easy to access and start working with. I chose this dataset because it includes a solid mix of variables related to education spending and student outcomes across all 50 U.S. states. It’s the kind of data that can help answer real-world questions about how money might impact education. Some of the main variables I focused on are: Expenditure per student – This shows how much each state spends on average for every student enrolled in public school. Graduation rate – This tells us what percentage of students are finishing high school in each state. Average income of residents – This giv...

Module # 13

Image
Issaiah. Jennings Module # 13 For this cool animation, I used the animation package in R to create a GIF that shows how a histogram changes as the mean of a dataset increases over time. It’s basically a moving picture of data that shifts a little more to the right with each frame. I really enjoyed this assignment give it a try!  library(animation) > > ani.options(interval = 0.05) # 100 / 0.05 = 20 fps > > > # Save the animated histogram > saveGIF({ + par(mar = c(4, 4, 2, 1)) # Set margins + for (i in 1:100) { + # Simulate normal data, shifting the mean over time + data <- rnorm(200, mean = i * 0.1, sd = 1) + + # Plot histogram + hist(data, + breaks = 20, + col = "skyblue", + border = "white", + main = paste("Iteration:", i), + xlim = c(0, 20), + ylim = c(0, 40), + xlab = "Value", + ylab = "Frequency") + + # Add ...

Module # 12

Image
 Issaiah. Jennings Module # 12 For this project, I explored how to visualize a simple social network using RStudio. Instead of using NodeXL in Microsoft Excel, I chose to use RStudio because I’m more comfortable with it and wanted to try out the ggnet2 function from the GGally package, which works well with ggplot2 . install.packages("GGally") install.packages("network") install.packages("sna") install.packages("ggplot2") library(GGally) library(network) library(sna) library(ggplot2) # Create a random adjacency matrix for 10 nodes net_matrix = rgraph(10, mode = "graph", tprob = 0.5) # Convert the matrix into a network object net = network(net_matrix, directed = FALSE) # Assign names to each node (a to j) network.vertex.names(net) = letters[1:10] ggnet2(net) ggnet2(net,        node.size = 6,        node.color = "black",        edge.size = 1,        edge.color = "grey") ggnet2(net, size = 6, color = re...

Module # 11 assignment

Image
Issaiah. Jennings Module # 11 assignment For this assignment, I recreated a classic Tufte-style dot-dash plot using ggplot2 in R. I started with a dataset that shows yearly values from 1967 to 1977. Using ggplot2, I made a clean line graph with dots showing the exact values for each year. I also added dashed horizontal lines to highlight important thresholds at 5 and 6, which matches the minimalist, data-focused style Tufte is known for. I customized the y-axis to show dollar values and used serif fonts and annotations to keep the design simple and clear. # Load required libraries library(ggplot2) # Data x <- 1967:1977 y <- c(0.5, 1.8, 4.6, 5.3, 5.3, 5.7, 5.4, 5, 5.5, 6, 5) df <- data.frame(Year = x, Value = y) # Plot ggplot(df, aes(x = Year, y = Value)) + geom_line(color = "black") + geom_point(size = 3) + geom_hline(yintercept = 5, linetype = "dashed") + geom_hline(yintercept = 6, linetype = "dashed") + annotate("text", x = m...

Module # 10 assignment

Image
Issaiah. Jennings  Module # 10 assignment For this project, I used the economics dataset in R to analyze unemployment trends from 2000 to 2008 using ggplot2. First, I added a year column to make it easier to categorize the data by time. I then created a line plot to visualize the unemployment rate over time, providing a clear look at how the number of unemployed individuals changed each month. Next, I generated another line plot to examine the median duration of unemployment, highlighting periods when people stayed unemployed longer. Finally, I created a scatter plot with paths to compare the unemployment rate and median duration, using color to distinguish different years. Visualizing time series data with ggplot2 helped uncover trends and patterns that might not be as obvious in raw numbers. The line plots made it easy to track changes over time, while the scatter plot provided insights into the relationship between unemployment and duration. Customizing the colors and layout im...

Module # 9 assignment

Image
Issaiah Jennings Module # 9 assignment Multivariable visualization effectively displays multiple relationships in a single plot without overcrowding. Color helps differentiate categorical variables like cylinders, while size encoding adds another dimension by representing weight. However, size differences can sometimes be misleading, and too many categories may make color distinctions harder to interpret. Labels and legends are kept simple to enhance clarity, while minimal styling (theme_minimal()) reduces distractions. Accuracy is maintained by properly scaling size and color, ensuring the data isn’t misleading. Aesthetic choices, like distinct colors and transparency, improve readability, and the scatter plot format keeps the visualization functional without overwhelming the viewer. > # Load necessary libraries > library(ggplot2) >  > # Create a multivariate scatter plot > ggplot(mtcars, aes(x = hp, y = mpg, color = as.factor(cyl), size = wt)) + +   geom...

Module # 8 Correlation Analysis and ggplot2

Image
Issaiah Jennings Module # 8 Correlation Analysis and ggplot2 I used correlation analysis through scatter plots to explore relationships between different variables in the mtcars dataset. > # Load necessary libraries > library(ggplot2) > library(gridExtra) >  > # Use mtcars dataset > data(mtcars) >  > # Create scatter plots with regression lines > p1 <- ggplot(mtcars, aes(x=hp, y=mpg)) +  +   geom_point() +  +   geom_smooth(method = "lm", color = "white") + # Add white regression line +   ggtitle("HP vs MPG") + +   theme_minimal() >  > p2 <- ggplot(mtcars, aes(x=wt, y=mpg)) +  +   geom_point() +  +   geom_smooth(method = "lm", color = "white") + # Add white regression line +   ggtitle("Weight vs MPG") + +   theme_minimal() >  > p3 <- ggplot(mtcars, aes(x=disp, y=mpg)) +  +   geom_point() +  +  ...