Filtering only big changes (Processing)

As for removing 80% of the picture, I am not sure what 80% do you mean.

The 80% that relates to channels 1, 2, 3, and 4. Leave only the 20% dealing with channel 0.

As you can see the graph is almost at the top of the screen, meaning if I ever got a value over 900 it would pretty much just color the whole screen without really giving me any useful data.

Suppose that you send a value, 750, that is in the range 0 to 1023.

You subract (or used to) 500 from that, giving a value of 250. Then, you pretend, when you do that mapping, that the value is still in the range 0 to 1023. It isn't. The value is in the range 0 to 523. You are introducing distortion right there.

If you want the plot to cover only 3/4 of the screen (why, I can't imagine), then change the to range to 0 to height * 0.75.

I still think it's better to deal with one channel, until you get that working the way you want. It seems to me that you want to draw a line for every sample. It seems that you want the length of the line to not change more than some amount, regardless of what the data shows as a change. Again, why you want to do this is not clear.

What is also not clear is what the Arduino is measuring on the analog pins.