I want to give multiple colors to different features within a shapefile based on attribute values , is this possible in QGIS ?
If yes what is the procedure ?
Is there a way to provide color by means of hexadecimal codes ?
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.
If I understood you right this tutorial should answer your question:
From the same author there is also a follow-up:
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