Project

Author

Mohammed Maqsood/Pratik_S_K

Objective

Plot a slope chart comparing student grades across two semesters for 5 subjects.

Step 01 :- Load the required Libraries.

library(ggplot2)
library(dplyr) 

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

Step 02 :- Create a data of a student of 5 subjects according to grade.

grades <- data.frame(
  Subject = rep(c("Math", "Science", "English", "History", "Art"), each = 2),
  Semester = rep(c("Semester 1", "Semester 2"), times = 5),
  Grade = c(85, 90, 78, 82, 92, 89, 74, 76, 88, 91)
)

Step 03 :- Plot a Slope chart.

ggplot(grades, aes(x = Semester, y = Grade, group = Subject, color = Subject)) +
  geom_line(size = 1.2) +
  geom_point(size = 3) +
  geom_text(data = grades %>% filter(Semester == "Semester 1"),
            aes(label = paste(Subject, Grade, sep = ": ")),
            hjust = 1.1) +
  geom_text(data = grades %>% filter(Semester == "Semester 2"),
            aes(label = paste(Subject, Grade, sep = ": ")),
            hjust = -0.1) +
  theme_minimal() +
  theme(legend.position = "none") +
  ggtitle("Student Grades Comparison Across Two Semesters") +
  scale_x_discrete(expand = expansion(add = c(0.2,0.2)))
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.