This is my code, I want each line leaving a vertex to be the same colour from that vertex. So there should be 5 different coloured lines one colour for each vertex.
GraphPlot[{"Non-Drinker" -> "Non-Drinker",
"Non-Drinker" -> "Moderate", "Non-Drinker" -> "Harmful",
"Non-Drinker" -> "Deed", "Moderate" -> "Moderate",
"Moderate" -> "Hazardous", "Moderate" -> "Harmful",
"Moderate" -> "Deed", "Hazardous" -> "Non-Drinker",
"Hazardous" -> "Moderate", "Hazardous" -> "Hazardous",
"Hazardous" -> "Harmful", "Hazardous" -> "Deed",
"Harmful" -> "Non-Drinker", "Harmful" -> "Hazardous",
"Harmful" -> "Harmful", "Harmful" -> "Deed",
"Deed" -> "Non-Drinker"}, VertexLabeling -> True,
DirectedEdges -> {True, "ArrowheadsSize" -> 0.1},
MultiedgeStyle -> 0.1, PlotStyle -> {Black}, SelfLoopStyle -> 0.3,
EdgeRenderingFunction -> (If[First[#2] == Last[#2],
{Red, Arrow[#1, 0.05]}, {GrayLevel[0.1],Arrow[#1, 0.05]}] &)]
Thanks