AnalogRead() will give you "crappy" data if the pin is open-circuit.
You are just reading random noise.
If you are using analogRead() just make sure that you connect it to external electronics.
I used random() so that I could get some data without hooking up external electronics.
If you are reading a low-impedance voltage, you can enable the internal pullup
A pullup will ensure a known voltage when the analog pin is disconnected
A pullup will not upset the readings when connected (to a low impedance signal).
You can not use a pullup or pulldown with a high impedance signal.
I am not familiar with U8g fonts. If there is a number-only U8g font, it will reduce your Flash usage.
Since Oliver recommends U8g2 it seems wiser to use U8g2. And the fonts are small.
The real mystery is: Why did you buy a mega168 ?
David.