【发布时间】:2012-01-01 23:08:13
【问题描述】:
我有以下情节。
lst={{1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0,
0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0,
0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0,
1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}};
ArrayPlot[lst, Mesh -> All,
MeshStyle -> Directive[AbsoluteThickness[3.], Gray, Opacity[0.1]]]
但它看起来不像我预期的那样,我希望黑色方块的灰色边界/网格被这些黑色方块的颜色所掩盖。仅显示白色方块的灰色边界/网格。
【问题讨论】:
-
你的问题对我来说不是很清楚。我已将您的代码输出上传到您的问题。根据我对您的问题的理解:“仅显示白色方块的灰色边界/网格。”,输出看起来正确。黑色方块没有灰色边界。您是否有其他想法,或者您是否获得了不同的输出?还是您的意思是最外面的灰色边框?
-
@yoda:你仍然可以看到黑色方块边界的一些阴影,不是吗?
-
我现在看到了。起初它并不明显(可能是因为我的显示器),但将其更改为更亮的颜色就显露出来了。这可能并不简单,因为
Grids 总是放置在 绘制完图形的其余部分之后。有一个未记录的选项可以解决此问题,但我现在似乎不记得了。让我搜索... -
@yoda,我想您正在寻找
Method->{"GridLinesInFront"->True}的GridLines子选项?我认为无论使用哪一个(Mesh或GridLines),该解决方案都需要为MeshStyle或GridLinesStyle使用自定义样式函数,该函数使用相邻单元格中的数据值来为段着色每个网格/网格线。确实不简单...... -
@kguler 是的,我发现了,但这也没有用。我有一个自定义解决方案,目前这是一个合理的解决方法。