Assign multiple colors to features within a single vector layer

You can change the styles of the shape file in the layer properties. Double click the layer and select style.

Select Categorized style and choose a field you want to visualize. Remember to classify your values before leaving the dialog.

Style dialog in QGIS 2.


if I understood you right this great tutorial should answer your question: http://woostuff.wordpress.com/2011/06/06/one-of-my-favorite-features-of-qgis/

p.s. from the same author there is also a follow-up: http://woostuff.wordpress.com/2012/01/25/improvements-to-the-qgis-rule-based-rendering/


Alternatively to categorized styling, if you want to play a bit with colour you can try to code it by yourself:

CASE 
    WHEN Field = 'Value1' THEN color_rgb(0, 176, 80) 
    WHEN Field = 'Value2' THEN color_rgb(255, 255, 0)
    WHEN Field = 'Value3' THEN color_rgb(255, 192, 0)
    WHEN Field = 'Value4' THEN color_rgb(255, 0, 0)
    WHEN Field = 'Value5' THEN color_rgb(192, 0, 0) 
    WHEN Field = 'Value6' THEN color_rgb(255, 0, 255)
    ...
ELSE
    color_rgb(0, 0, 0)    
END

You can also apply rand function inside color_rgb