如何为第一列(不包括此列中的第一行),第一行(不包括此行中的第一行)和Grid
中的所有其他元素指定单独的对齐方式?最好只使用Alignment
Grid
Item[]
选项保留Alignment
{{1}} {{1}}选项,以实现更紧密的目的。
P.S。这个问题来自previous question,但我希望能够在这里单独控制水平和垂直表格标题的对齐。
答案 0 :(得分:4)
我找到了几种方法来实现我想要的。最直接的解决方案是:
Grid[Table[Row@(Range[a]), {a, 1, 4}, {7}],
Alignment -> {Right,
Automatic, {{{2, -1}, {1, 1}} -> Left, {{1, 1}, {2, -1}} ->
Center}}, Dividers -> {{2 -> True}, {2 -> True}}]
其他解决方案包括:
Grid[Table[Row@Range[a], {a, 1, 4}, {7}],
Alignment -> {{Left, {Right}},
Automatic, {{1, 1}, {1, -1}} -> Center},
Dividers -> {{2 -> True}, {2 -> True}}]
Grid[Table[Row@Range[a], {a, 1, 4}, {7}],
Alignment -> {Right,
Automatic, {1 -> Left, {{1, 1}, {2, -1}} -> Center}},
Dividers -> {{2 -> True}, {2 -> True}}]
Grid[Table[Row@Range[a], {a, 1, 4}, {7}],
Alignment -> {Right,
Automatic, {1 -> Left, {{1, 1}, {1, -1}} -> Center}},
Dividers -> {{2 -> True}, {2 -> True}}]
Grid[Table[Row@Range[a], {a, 1, 4}, {7}],
Alignment -> {Right,
Automatic, {{{1, 1}, {1, -1}} -> Center, 1 -> Left}},
Dividers -> {{2 -> True}, {2 -> True}}]
答案 1 :(得分:3)
看起来Alignment
使用与Background
中的Grid
相同的语法,因此在Options > Background
的文档中查看Grid
可能会有所帮助实例
例如,假设您要将第一行和第一列中的项目右上角和左下角的所有其他项目对齐,您可以执行类似
的操作Grid[RandomInteger[10, {5, 5}], ItemSize -> {3, 3}, Frame -> All,
Alignment -> {Left, Bottom, {{1, 1} -> {Right, Top}}}]
答案 2 :(得分:3)
如果我理解您的要求,我赞成使用Item
执行此操作,如下所示:
x = Array[\[HappySmiley] &, {5, 5}];
x = ReplacePart[x,
i : Except[{1, 1}, {_, 1} | {1, _}] :>
Item[x~Extract~i, Alignment -> Left]
];
Grid[x, ItemSize -> {3, 3}, Frame -> All]