3

最初の列 (この列の最初の行を除く)、最初の行 (この行の最初の要素を除く)、およびGrid? より厳密な目的のために、 withオプションによって与えられた厳密な制御Alignmentを保持するオプションだけでこれを行うことが望ましいです。GridItem[]Alignment

PSこの質問は前の質問から来ていますが、ここで水平および垂直の表見出しの配置を個別に制御したいと考えています。

4

3 に答える 3

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}}]

ここに画像の説明を入力

于 2011-08-17T15:28:18.133 に答える
3

inAlignmentと同じ構文を使用しているように見えるので、例についてはドキュメントを参照してください。BackgroundGridOptions > BackgroundGrid

たとえば、最初の行と最初の列のアイテムを右上に揃え、他のすべてのアイテムを左下に揃えたい場合、次のようにすることができます。

Grid[RandomInteger[10, {5, 5}], ItemSize -> {3, 3}, Frame -> All, 
 Alignment -> {Left, Bottom, {{1, 1} -> {Right, Top}}}]

アイテム {1,1} の配置が異なるグリッド

于 2011-08-17T13:38:08.050 に答える
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]

ここに画像の説明を入力

于 2011-08-17T15:58:36.807 に答える