Thanks for the data.
Well something is happening 
I think you are tackling a fairly nasty little problem for someone with a week's experience.
I find dealing with times and dates can get complicated fast so what I am trying is probably not optional but it gives us a graph.
dat1 <- structure(list(day = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30), study_hours = c("7.30.00", "8.30.00", "0.00.00", "0.00.00",
"0.00.00", "8.00.00", "7.00.00", "8.00.00", "0.00.00", "7.30.00",
"4.00.00", "8.00.00", "6.30.00", "7.00.00", "8.00.00", "6.30.00",
"0.00.00", "4.00.00", "4.00.00", "7.20.00", "5.30.00", "5.30.00",
"6.30.00", "0.00.00", "0.00.00", "6.00.00", "7.40.00", "8.00.00",
"5.00.00", "7.00.00")), class = c("spec_tbl_df", "tbl_df", "tbl",
"data.frame"), row.names = c(NA, -30L), spec = structure(list(
cols = list(day = structure(list(), class = c("collector_double",
"collector")), study_hours = structure(list(), class = c("collector_character",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1L), class = "col_spec"))
library(lubridate)
library(ggplot2)
# Convert times from "7.30.00" to "7:30:00 format
dat1$study_hours <- gsub("\\.", ":", dat1$study_hours)
# First convert the character data to a *lubricate* hms object and
# then gonvert to a duration using *as.duration*.
dat1$mytime <- as.duration(hms(dat1$study_hours))
# plot with basic graphics
with(dat1, plot(day, mytime))
# plot with *ggplot2*
ggplot(dat1, aes(day, mytime)) + geom_point()