Please keep the list in the loop. Looking at your data, it would seem you first need to make it into the right format - long format. You can do that using tidyr::gather. Plotting from then on is trivial. Also notice that I'm not calling any column name explicitly from the object, but rather just referring to the name.
xy <- read.table("../Downloads/temperatures.rt", header = TRUE)
xy$meanT <- with(xy, (minT + maxT)/2) # with regular warnings that this implies that the distribution is symmetrical...
# this ensures that the months are plotted in the correct, specified order
xy$month <- factor(xy$month, levels = xy$month)
library(tidyr)
library(ggplot2)
# put your data into long format suitable to be used in ggplot()
xy <- gather(xy, key = temp, value = value, -month)
ggplot(xy, aes(x = month, y = value, color = temp, group = temp)) +
theme_bw() +
scale_color_brewer(palette = "Set1") +
geom_line()
Cheers,
Roman