表与矩阵
列表的表格和矩阵形式.
| Out[1]= |  |
| Out[2]= |  |
Out[3]//TableForm= |
| |  |
Grid 和 Column 是封装,不进行计算,只是把内容排版成合适的形式. 它们是排版结构,需要前端正确呈现.
| Out[4]= |  |
Out[5]//FullForm= |
| |  |
这些封装都可以用来表示任何类型的数据,包括图形数据.
| Out[6]= |  |
显示数值表格.
| Out[7]= |  |
| Out[8]= |  |
Out[9]//PaddedForm= |
| |  |
| Out[10]= |  |
Out[11]//PaddedForm= |
| |  |
在 Grid 中代表跨越的符号.
Grid 把矩形矩阵作为其第一个参数. 通过指定跨越区域,Grid 的单个元素可以跨越多行,多列或一个矩阵子网格. 横跨元素总是在跨越区域的左上角,剩下的区域由适当的跨越符号填补.
| Out[12]= |  |
| Out[13]= |  |
| Out[14]= |  |
影响 Grid 作为一个整体的行为的一些选项.
| Out[15]= |  |
| Out[16]= |  |
| Out[17]= |  |
| Out[18]= |  |
| Out[19]= |  |
设置整个
Grid 基本样式为 Subsection 样式.
| Out[20]= |  |
Column 是只有一列的 Grid 的缩写. 由于这两个函数是相似的,它们可以用相同的选项.
| Out[21]= |  |
影响 Grid 行和列的一些选项.
影响行和列的 Grid 选项都有一个类似的语法. 这些选项可以指定为
,其中 x 适用于所有列和 y 适用于所有行; x 和 y 可以是单个值,也可以是值的集合,依次代表每列或行.
| Out[22]= |  |
| Out[23]= |  |
| Out[24]= |  |
当 Background 或 ItemStyle 选项对行和列指定不同的设置,在行和列重叠处前端将尝试组合设置.
| Out[25]= |  |
| Out[26]= |  |
要在多个行或列中重复个别行或列的规格,可以把它包装在一个列表中. 重复的元素会尽可能的被使用. 如果你在列表中包装多个元素,整个列表将按序重复.
| Out[27]= |  |
| Out[28]= |  |
ItemSize 和 Spacings 选项的ems的水平测量和行高的垂直测量是基于目前的字体设置. 这两个选项也可以采取Scaled 按比例坐标,坐标指定总的单元宽度或窗口高度的比例. 通过使用关键字 Full,ItemSize 选项也可让您要求尽可能多的空间,使得所有元素都适合给定的行或列.
| Out[29]= |  |
| Out[30]= |  |
在这个例子中的按钮大小始终是一个单元格宽度的四分之一.
| Out[31]= |  |
| Out[32]= |  |
Item 的一些选项.
通过使用 Item,适用于整个行和列的许多设置也适用于 Grid 或 Column 中个别的的项. Item 允许您更改一个单项的这些设置. 在 Item 级别上定义的设置总是作为一个整体覆盖 Grid 或 Column 的设置.
| Out[33]= |  |
| Out[34]= |  |
Item 的大多数选项采取与 Grid 同样的设置. 但是,Alignment 和 ItemSize 选项例外,在 Grid 中允许复杂的行和列设置,在 Item 中只采取
设置.
| Out[35]= |  |
| Out[36]= |  |
| Out[37]= |  |
多维数据格式化
Column 支持一维数据,Grid 支持二维数据. 可以使用 TableForm 打印任意维的数据.
以下是元素

的2×2数组的格式.
Out[39]//TableForm= |
| |  |
Out[40]//TableForm= |
| |  |
Out[41]//TableForm= |
| |  |
一般来说,当您打印一个
维表,相连的维是以列和行交替给出的. 通过设置选项TableDirections->{dir1, dir2, ...},其中
是 Column 或 Row, 您可以明确指定每个维度的方向. 默认情况下,该选项设为 {Column, Row, Column, Row, ...}.
Out[42]//TableForm= |
| |  |
TableForm 可以处理任意不规则数组. 没有元素时,用空白填补.
Out[43]//TableForm= |
| |  |
Out[44]//TableForm= |
| |  |
您可以在嵌套列表中控制层次,在 TableForm 中设置选项 TableDepth.
Out[45]//TableForm= |
| |  |
| | |
| TableDepth | Infinity | 表格中所包含的最大层数 |
| TableDirections | {Column,Row,Column,...} | 每一维是否按行或列排列 |
| TableAlignments | {Left,Bottom,Left,...} | 每一维中如何对齐元素 |
| TableSpacing | {1,3,0,1,0,...} | 在每一维中加多少空格 |
| TableHeadings | {None,None,...} | 怎样标记每一维的元素 |
TableForm 的选项.
使用 TableAlignments 选项,您可以指定表中的每个项应该是行对齐或列对齐. 对于列,您可以指定 Left、Center 或 Right. 对于行,您可以指定 Bottom、Center 或 Top. 如果设置 TableAlignments->Center,所有项水平和垂直方向均会中心对齐. TableAlignments->Automatic 使用对齐的缺省选项.
Out[46]//TableForm= |
| |  |
Out[47]//TableForm= |
| |  |
可以用 TableSpacing 选项指明连续的列间应该有多少水平空隙,或连续的行间应该有多少垂直空隙. 设置为
指定连续对象应紧挨着.
Out[48]//TableForm= |
| |  |
TableHeadings 选项的设置
Out[49]//TableForm= |
| |  |
Out[50]//TableForm= |
| |  |
Out[51]//TableForm= |
| |  |