Visualizing positive, negative and neutral in 2D? Overview:
The campus I work for has a website that students can use to vote how they feel in terms of comfort in a particular room. The options the students have when logged into the site are : Cold, Perfect and Hot. The votes are stored in a large database that contains the time the student voted, the building and room they are in and the type of comfort vote they selected. This gives my team an idea of either overcooling a particular room / building or not cooling enough. 
Initial Idea: My idea was to plot the votes that are coming in onto a graph that can be updated as the students vote throughout the day. Cold votes be +1, hot votes be -1 and perfect would be 0,  This was to give a general overview of overcooling, undercooling across campus. The problem I ran into is this would never indicate that people are feeling perfect if even one person voted cold/hot. 
One option suggested in the comments was to create a bar graph which could keep a sum of the three votes separately, possibly a bar graph per day, then sum the daily count of votes for a monthly bar graph and per year. 
Question: I was wondering if there was a way to visualize this in 2D, to quickly get an idea of the comfort of people, whether they are mostly Hot, Cold or Perfect or would I have to keep this in 3D with each dimension pertaining to the vote type?
Example Data:

 A: I would do a graphic taking as time unit a week or month. Then I would count for each time unit the amount of each vote you have. Then take the percentage of vote for each category for that time unit, this is important in order to be able to compare different times. Then plot this data with lines of different color like this R script:
  library(lubridate)
  library(ggplot2)
  data <- data.frame(Time=seq(from=as.Date('1990-01-01'),to=as.Date('1991-12-31'),by='day'))

  asd <- runif(nrow(data),min=0,max = 3)
  data$Vote <-factor(x = 'perfect',levels = c('hot','cold','perfect'))
  data$Vote[asd <= 2] <- 'cold'
  data$Vote[asd <= 1] <- 'hot'
  Times <- seq(from=as.Date('1990-01-01'),to=as.Date('1991-12-31'),by='month')
  new_data <- data.frame(Time=rep(Times,each=3))
  new_data$Votes <- rep(c('hot','cold','perfect'),24)
  new_data$value <- NA
  cont <- 0
  for(ii in 1:length(Times)){
    i <- Times[ii]
    yy <- year(i)
    mm <- month(i)


    index <- year(data$Time) == yy & month((data$Time)) == mm 
    for(vote in c('hot','cold','perfect')){
      cont <- cont +1
      index2 <- data$Vote[index] == vote
      if(any(index2)){
        new_data$value[cont] <- length(which(index2))
      }
    }
    new_data$value[(cont-2):cont] <- new_data$value[(cont-2):cont]/(sum(new_data$value[(cont-2):cont],na.rm = T))
  }


  ggplot(data=new_data,aes(x=Time,y=value,col=Votes)) + geom_line()

