How to Increase the Resolution of analogRead()! (from 10-bits up to 21-bits)

The distribution of the values in that chart you have printed there is rather interesting. The effect of the "noise" on the adc readings you are getting, is strongly emphasised on the downside.