500*_*500 5 grid background wolfram-mathematica
我无法弄清楚如何定义具有不同颜色背景的几个子区域,如下所示.
任何的想法 ?
非常感谢,
LA
Grid[Table["g", {4}, {7}],
Background -> {None, None, {{{1, 3}, {1, 3}} -> LightRed}}]
Run Code Online (Sandbox Code Playgroud)
正如旁注,通常的要求是根据值指定背景颜色.
为此你可以这样做:
k = Table[RandomInteger[{1, 2}], {4}, {7}];
Grid[k,
Background ->
{None, None,
Join[
Position[k, 1] /. {x_, y_} -> ({x, y} -> LightRed),
Position[k, 2] /. {x_, y_} -> ({x, y} -> LightBlue)]
}]
Run Code Online (Sandbox Code Playgroud)

编辑
如果您不知道先验值的范围,您可以尝试以下方法:
k = Table[RandomInteger[{1, 20}], {4}, {7}];
Grid[k,
Frame -> All,
ItemStyle -> Directive[FontSize -> 16],
Background ->
{None, None,
Flatten@Array[List[##] ->
ColorData["Rainbow"][(k[[##]] - Min@k) / Max@k] &,
Dimensions@k]
}
]
Run Code Online (Sandbox Code Playgroud)

只需列出您已有的第一个区域和颜色:
Grid[Table["g", {4}, {7}],
Background -> {None, None, {
{{1, 3}, {1, 3}} -> LightRed,
{{3, 4}, {4, 7}} -> LightBlue
} } ]
Run Code Online (Sandbox Code Playgroud)
