buenas,
no se si sea yo que no lei bien o si es que no te has explicado bien. no encuentro la relacion de los valores numericos con los colores. adicionalmente, deberias explicar como estas usando esos datos porque probablemente ahi sea donde tienes problema. otro detalle, en la definicion de los rangos tienes un error con los numeros en parentesis. cuando pones una serie de sentencia entre parentesis, todas se evaluan pero la ultima es la que devuelve el parentesis. es decir, el array termina siendo [null, 1000000, 5000000].