# ArrayPlot with cells labeled by corresponding values

I would like to have ArrayPlot[] also present the value of each cell in it, similar to the LabelingFunction that is available in other types of plots. How do I do it?

-

Like this?

SeedRandom[42, Method -> "Legacy"]; (* for reproducibility *)

mat = RandomReal[1, {3, 5}];
ArrayPlot[mat,
Epilog -> {Red, MapIndexed[Text[#1, Reverse[#2 - 1/2]] &, Reverse[mat], {2}]},
Mesh -> True]


-
+1, answers the question. How about a contrasting text color (black on white, white on black,..)? I won't be able to upvote a second time for it, though :-) –  stevenvh Aug 26 '12 at 16:15
@stevenvh I guess something like Round[1 - GrayLevel[...]] should do it –  The Toad Aug 26 '12 at 16:16
That was my first idea as well, but at 50 % gray you won't see anything :-( –  stevenvh Aug 26 '12 at 16:19
yes thanks this is great –  Doron Aug 26 '12 at 16:21
@steven, $\gamma$-tweaking might do the trick in that case; I'll play around and edit this answer if I see something I like. –  Guess who it is. Aug 26 '12 at 16:29