I would like to create a labeled ArrayPlot
with Mesh->True
for example:
ArrayPlot[{{1, 0}, {0, 1}}, FrameLabel -> x, Mesh->True]
This does not show the FrameLabel, but
ArrayPlot[{{1, 0}, {0, 1}}, FrameLabel -> x]
does. I would guess it is a bug, but maybe there is some reason and I can work around it? I am on Mathematica 10.1.0.0 Linux.
Answer
The issue is that ArrayPlot[{{1, 0}, {0, 1}}, FrameLabel -> x, Mesh->True]
renders the plot without a frame (hence no framelabel):
ArrayPlot[{{1, 0}, {0, 1}}, FrameLabel -> x, Mesh->True]
What is happening can be seen in a simpler example without FrameLabel
:
ArrayPlot[{{1, 0}, {0, 1}}]
Options[ArrayPlot[{{1, 0}, {0, 1}}], Frame]
{Frame -> Automatic}
Somehow adding the option Mesh->True
sets the option Frame
to False
:
ArrayPlot[{{1, 0}, {0, 1}}, Mesh -> True]
Options[ArrayPlot[{{1, 0}, {0, 1}}, Mesh -> True], Frame]
{Frame -> False}
The fix is to add the option Frame->True
:
ArrayPlot[{{1, 0}, {0, 1}}, Frame -> True, FrameLabel -> x, Mesh -> True]
Comments
Post a Comment