LCD in this picture has 2×16 characters, so in quick way horizontal bar could have 16 steps resolution, but it’s not enough. Each character is formed from 5×8 pixels. Every character can be sliced in to 5 pieces. After that we can have 5*16 = 80 steps.
First step is to create 5 custom characters. More about createChar() please read at arduino.cc.
Each custom character is specified by an array of eight bytes. Byte represents character’s row.