此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

2.9.1 图形结构

1.9 节讨论了用 Plot ListPlot 等函数绘制函数和数据的图形,本节讨论 Mathematica 如何表示这些图形,如何编程去产生更复杂的图形.
基本思想是 Mathematica 用图形基元的集合表示所有图形. 图形基元包括 Point (点), Line (线) 和 Polygon (多边形),以及 RGBColor, ThicknessSurfaceColor.

里产生了一列点

InputForm 说明了Mathematica 如何表示图形. 每个点表示为一个 Point 图形基元. 这个例子中使用的图形的各种可选项也被给出

Out[2]//InputForm=

Mathematica 中每个完全的图形块都用图形对象表示. 对应于不同类型 的图形,有几种不同类型的图形对象. 每类图形对象有确定的头部以表明 它的类型.

Mathematica的图形对象

PlotListPlot1.19 节中讨论的函数都按 Mathematica 内部图形对象 工作,然后显示它们.

由函数和数据产生的图形对象

Mathematica 中可以通过自行建立图形对象产生其它类型的图象. 由于 Mathematica 中的图形对象是符号表达式,所以能用所有的 Mathematica 标准函数 对其进行操作.
产生了一个图形对象后可以用函数 Show 来显示它们.

显示图形对象

利用 Table 去建立一个多边形图形基元

这里产生一个包含该多边形图形基元的图形对象. 在标准输出格式中,图形对象用 -Graphics- 简单地给出

InputForm 完整地显示了图形对象

Out[5]//InputForm=

这里显示刚创建的图形对象

修改图形的局部和全局方式

给定了一个图形基元列表后, Mathematica 提供了两种方式去修改最终的图形. 首先可以在 图形基元列表中插入一些图形指令,例如 RGBColor,以修改列表中的图形基元. 用这种方式 可以指定怎样给出一个图形元素列表.

本例用了上面的图形元素列表,并增加了图形指令 GrayLevel[0.3]

这时多边形呈现为灰色

通过插入图形指令,可以指定图形基元的显示方式. 用图形选项 可以对图形进行全局的修改.

通过增加图形选项 Frame 修改图形的外观

Show 返回值是有可选项的图形对象

Out[10]//InputForm=

Show 中指定图形选项可以使一个图形按不同的风格显示.
Show 总是返回已显示的图形对象. 当在 Show 中给出可选项时, 这些选项就自动地插入在 Show 返回的图形对象中. 于是,在没有改变选项 时,下一次 Show 显示的将是同一个图形. 在任何情况下,新指定的选项覆盖 以前的选项.

找出图形对象的可选项

有些可选项需要对图形某一块的参数指定一个值,其它选项可以设置为 Automatic,使 Mathematica 用内部算法为参数选择适当的值. 这时可以用函数 AbsoluteOptions 去得到 Mathematica 实际使用的值.

这里是一个图形

PlotRange 被设置为默认值 Automatic, 指定 Mathematica 用内部算法确定实际绘图范围

AbsoluteOptions 给出了 Mathematica 实际确定的绘图范围

确定图形块的完全形式

对图形选项 Axes 等,Mathematica 有效地构造一个图形基元列表去表示所确定的 坐标轴等对象. Mathematica 一般不明确地返回用这种方法构造的列表,有时需要 得到这个列表. 函数 FullGraphics 给出不使用任何选项绘制指定图形所需的 完全的图形基元列表.

这里画出了一列值的图形

FullGraphics 生成了包括表示坐标轴等的图形元素的图形对象

Plot Show 在默认设置下,使 Mathematica 输出图形. 一般地,图形输出由图形选项 DisplayFunction 控制,该选项的默认值是全局变量 $DisplayFunction 的值.
在大部分情况下,$DisplayFunctionDisplayFunction 选项的设置是用 低级的显示函数 Display (在一些处理后)产生输出.有时需要用 Plot 等 函数产生一个图形对象, 但不需要立即显示它,这可以用选项 DisplayFunction->Identity 实现. 2.9.14 节将仔细讨论这种情况.

Mathematica 表达式

产生一个图形对象,但不显示它

修改这个图形对象,也不显示它

Mathematica 用默认的显示函数显示该图形