Python 2.7, 110 99 9595 91 bytes:
G=input();i=1;exec"print' '*[~-i,G][i>G]+'-'+[str(i)*%s-'%[`i`*(2*-~G-i*2),'10'][(i>9)*G>9]+'-';i+=1;"*10*G>9];i+=1;"*10
A full program that takes input by an integer in the inclusive range [1,10]
, where 10
means 100%
and 1
means 10%
. Can probably be golfed down a bit more.