I don't think "temperature" is a valid colour name. You can check in colours().
If you wish to specify a colour separately, use it outside the aes mapping.
Your code expects temperature to be a column in the data set, whose values are discrete. But the problem is that this dataset doesn't have a column named temperature:
As Yarnabrina said before, if you want to specify a color you have to do it outside the aes() function and inside the desired geom_(), this is because you can't map an aesthetic to a character string (i.e. "blue"), see this example: