如何为第一列(不包括该列中的第一行)、第一行(不包括该行中的第一个元素)和所有其他元素指定单独的对齐方式Grid
?为了更严格的目的,最好仅使用 with option 提供的保留严格控制的选项来执行此Alignment
操作Grid
。Item[]
Alignment
PS这个问题来自上一个问题,但我希望在这里单独控制水平和垂直表标题的对齐方式。
如何为第一列(不包括该列中的第一行)、第一行(不包括该行中的第一个元素)和所有其他元素指定单独的对齐方式Grid
?为了更严格的目的,最好仅使用 with option 提供的保留严格控制的选项来执行此Alignment
操作Grid
。Item[]
Alignment
PS这个问题来自上一个问题,但我希望在这里单独控制水平和垂直表标题的对齐方式。
我找到了几种方法来实现我想要的。最直接的解决办法是:
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}}]
它看起来使用与inAlignment
相同的语法,因此在文档中查看示例可能会有所帮助。Background
Grid
Options > Background
Grid
例如,假设您想将第一行和第一列中的项目右上对齐,所有其他项目左下对齐,您可以执行类似的操作
Grid[RandomInteger[10, {5, 5}], ItemSize -> {3, 3}, Frame -> All,
Alignment -> {Left, Bottom, {{1, 1} -> {Right, Top}}}]
如果我了解您的要求,我会喜欢这样做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]