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?
1 Answer
$\begingroup$
$\endgroup$
9
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]
-
$\begingroup$ +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 :-) $\endgroup$– stevenvhCommented Aug 26, 2012 at 16:15
-
$\begingroup$ @stevenvh I guess something like
Round[1 - GrayLevel[...]]
should do it $\endgroup$– rm -rf ♦Commented Aug 26, 2012 at 16:16 -
$\begingroup$ That was my first idea as well, but at 50 % gray you won't see anything :-( $\endgroup$– stevenvhCommented Aug 26, 2012 at 16:19
-
-
$\begingroup$ @steven, $\gamma$-tweaking might do the trick in that case; I'll play around and edit this answer if I see something I like. $\endgroup$ Commented Aug 26, 2012 at 16:29