A: 

Why not use shades of gray? Just calculate the min/max values and use that to translate each number into a different shade from white to black.

I know it's not colors, but in my opinion it'll be easier to interpret the results. I can tell what it means when something is darker vs. lighter, but who is to say that, for example, green is a higher value than orange?

Daniel Lew
He probably wants absolute differences, not higher/lower differences. 1, 10, and 100 would be red, red-orange, and cyan, perhaps.
strager
There are too many numbers (perhaps a thousand), so shades of gray would be too close together.
Alexander Gladysh
+1  A: 

See: How to automatically generate N "distinct" colors?

It would be best to normalize your values, and run them through the code I suggested (where hue == your value), building a map/hash. (You can use a hash-style function instead, which is probably more efficient.)

You can "randomize" lightness (or brightness, depending on your model) and saturation using some predetermined bits of your number, for example.

strager
+2  A: 

Whatever algorithm you finally settle on, you might try the CIELAB color space. It normalizes the differences in human color perception, so that equal numeric spacing gives equal perceptual differences.

Mark Ransom
+2  A: 

You could consider using a 3D space-filling curve through your chosen colour space. I'll second Mark's CIELAB suggestion, wish I'd known about that last time I had to solve a similar problem.

moonshadow