PeterH:
Are your digitalRead() calls returning the values you expect according to the switch positions? Since the code you posted doesn't tell you, you probably don't know; Serial.print statements to print out the values would let you find out.
I have added the serial.print and weird things are happening. With the switch connected to GND and a digital pin, when activated it does show what it should but it does not stay as a solid line. There is interference from other digital pins connected to the same GND. I am so confused.