Graphics 安排;在Mathematica中显示网格的部分

Graphics 安排;在Mathematica中显示网格的部分,graphics,grid,wolfram-mathematica,Graphics,Grid,Wolfram Mathematica,为了快速找到数据的位置,我显示了一个表,其中包含变量名以及每个变量的相关信息 因为我有很多列(变量),所以我将它们的块复制并粘贴到一个单元格中,使它们都显示在一个屏幕上 我想对其进行编码,以便输入要提取的多个行范围,并在适合屏幕某个区域的网格上高效地显示这些行?我还没能很好地将两个网格显示在一起 如果我没有正确地表达上述问题,下面是一个简单的例子: 如果laList的输出是我们必须处理的,那么如何将蓝色部分移到粉色部分的一侧 co1 = Range[6]; co2 = Range[1

为了快速找到数据的位置,我显示了一个表,其中包含变量名以及每个变量的相关信息

因为我有很多列(变量),所以我将它们的块复制并粘贴到一个单元格中,使它们都显示在一个屏幕上

我想对其进行编码,以便输入要提取的多个行范围,并在适合屏幕某个区域的网格上高效地显示这些行?我还没能很好地将两个网格显示在一起

如果我没有正确地表达上述问题,下面是一个简单的例子:

如果
laList
的输出是我们必须处理的,那么如何将蓝色部分移到粉色部分的一侧

co1    = Range[6];
co2    = Range[11, 16];
co3    = {"A", "B", "C", "D", "E", "F"};

laList = Join[{co1}, {co2}, {co3}] // Transpose;

laListGraph = Grid[laList,
Dividers -> All,
Alignment -> {Left, Center},
ItemSize -> Automatic,
ItemStyle -> Directive[FontSize -> 14, Black, Italic, Bold],
Spacings -> {2, 1},
 Background -> {None, None, {
     {{1, 3}, {1, 3}} -> LightRed,
     {{4, 6}, {1, 3}} -> LightBlue
   } } ]
编辑: 再想一想,我之前拥有的并不是你想要的。。。您希望将其显示为列,但将后半行拆分并显示在第一行旁边。下面的代码应该可以做到这一点。让我知道这是否是你的想法

(Grid[#1, Dividers -> All, Alignment -> {Left, Center}, 
     ItemSize -> Automatic, 
     ItemStyle -> Directive[FontSize -> 14, Black, Italic, Bold], 
     Spacings -> {2, 1}, 
     Background -> {None, 
       None, {{1, 3}, {1, 3}} -> #2}] &) @@@ {{laList[[;; 3, All]], 
    LightRed}, {laList[[4 ;;, All]], LightBlue}} // Row

正如我理解你的问题一样,这里的颜色只是为了告诉我们你想“向上移动”的部分。因此:

编辑

或者更符合@Mr.的口味:

showG[l_List] :=
  Grid[Join[l[[ ;; #]], l[[# + 1 ;;]], 2], Frame -> All] &@ Floor[Length@l/2];

我会这样做的。从问题中定义的
laList
开始:

laList2 = ArrayFlatten @ {Partition[laList, 3]};

Grid[laList2,
Dividers -> All,
Alignment -> {Left, Center},
ItemSize -> Automatic,
ItemStyle -> Directive[FontSize -> 14, Black, Italic, Bold],
Spacings -> {2, 1},
 Background -> {None, None, {
     {{1, 3}, {1, 3}} -> LightRed,
     {{1, 3}, {4, 6}} -> LightBlue
   } }
]

请注意:

  • 分区
    中的值
    3
    需要根据您的列表进行调整

  • 浅蓝色
    区域的区域规格已颠倒


我喜欢尤达代码的一个变体是:

subgrid= Grid[#1,
         Dividers  -> All,
         Alignment -> {Left, Center}, 
         ItemSize  -> Automatic, 
         ItemStyle -> Directive[FontSize -> 14, Black, Italic, Bold], 
         Spacings  -> {2, 1}, 
         Background-> #2] &;

MapThread[subgrid, {Partition[laList, 3], {LightRed, LightBlue}}] //Row
此外,使用此方法,您可以对不均匀划分的列表进行分区:

MapThread[subgrid, {
  Partition[laList, 4, 4, 1, {}],
  {LightRed, LightBlue}
}] //Row

Louis,与普通论坛不同,你的帖子不需要在上面签名,上面写着“你好”、“再见”和你的名字(因为每篇帖子下面都有你的用户名)。我们总是关系很好,所以问候和再见是暗含的:)我真的没有考虑过这种解释,但你可能是对的。删除代码中的冗余,我将+1它。而且,
楼层
整数部分
短;你使用后者有什么原因吗?@Mr.多年前,我在一种晦涩难懂的语言中工作,该语言对
Floor
参数使用浮点表示。有时会出现一个奇怪的bug,它会产生(对于整数)
Floor[n]==n-1
,这让我几晚都没睡。从那以后,每次看到
地板[]
,我都会打哆嗦。我想我遇到了同样的事情。请查看对此的评论,并告诉我是否如此:@先生似乎是一个类似的问题,但我的问题发生在Mma实现之前很多年:Dmathmatica任意精确地宠坏了我。直到我想起用二进制表示精确的十进制整数是不可能的,我才明白为什么会出现这个错误。
MapThread[subgrid, {
  Partition[laList, 4, 4, 1, {}],
  {LightRed, LightBlue}
}] //Row