Helder, boa tarde!
Quanto à posição, você pode liberar a área fora do gráfico com o argumento xpd=T em par(). Ex: par(xpd=T)
Quanto à escala de cores, no caso em questão, acredito que seja correto atribuir uma escala contínua aos pontos, uma vez que eles são discretos (se enquadram nos intervalos nominados).