I have a 1999 Cavalier 2.2L. My temperature gauge is also shifty. It fluctuates everywhere from running at the lowest end of the normal range to the highest, nearly overheating sometimes at idle. It runs coolest when driven consistently at about 45 miles an hour.
There's a TSB that says air trapped in the top radiator pipe could be to blame as it causes the coolant temp sensor to read inaccurately (I've yet to verify or repair this)
I've also read that perhaps the thermostat could be to blame, although I live in Alaska, and this morning at a blistering 12 degrees my drive to work was plenty warm... Not to mention the temperature gauge rode in the same area as it did when it was in the 40s...
All in all I'm still looking for an answer to this very same problem myself...
***UPDATE:***
If you are having the same 'problem' I am, as it turns out (odd as it is) I think it is normal for the gauge to flip-flop across a wide range. See here for details of another person describing their Cavalier and the normal operating ranges for their car:
http://autorepair.about.com/library/a/1e/bl525e.htm
An automobile temperature gauge can fluctuate when the thermostat is opening and closing erratically. The temperature gauge can also fluctuate when the ground wire is loose.
The oil pressure gauge may be fluctuating on a 2006 GMC Sierra if the oil pump is failing or the sensor is defective. This can be the first indicator of a potentially catastrophic failure.
In my experience with my Chevy it was a ground wire
A temperature gauge, that always read the maximum temperature, is usually not connected to the temperature sensor. The wire between the gauge and the sensor must be broken.
I would replace the thermostat. This sounds like the thermostat is stuck open.
A short between the heater switch and temperature gauge.
The coolant fan sensor is the same as the sensor that shows the coolant temperature on the dash gauge. It is located on the intake manifold.
This fluctuation is caused by common use. The temperature will be higher when the vehicle is idling because there is no air moving over the engine like it does when the car is in motion.
Well, that depends on exactly how it's fluctuating. If it drops when the compressor clutch is disengaged and builds back up when the compressor clutch engages, that's normal operation.
replace temperature gauge
First check the fuse for the 2003 Cavalier gauge. Next check the fuel sending unit in the fuel tank to insure that its working properly. Check the gauge next, then the wiring for the system. One of these units is causing your gauge to not work.
Bulbs simply burn out dumba**!