图形指令和选项

Mathematica 中设置图形对象时, 一般是给出图形元素的一个列表. 在这个列表中可以包含图形指令以指出后继元素显示的方式.

通常,一个图形对象的图形基元列表是一个嵌套列表. 当在这个结构中插入图形指令时, 一个插入指令会影响它所在集合以及可能包含的子集合的所有后继元素. 然而图形指令不会影响到它所在集合之外的元素.

第一个子集合包含图形指令 GrayLevel.
In[1]:=
Click for copyable input
Out[1]=
只有第一个子集合中的矩形受 GrayLevel 指令的影响.
In[2]:=
Click for copyable input
Out[2]=
GrayLevel[i]0 (黑) 和 1 (白) 之间的灰度
RGBColor[r,g,b]用0和 1指定红、绿、蓝分量的颜色
Hue[h]色度值 h 在 0和 1之间的颜色
Hue[h,s,b]色度、饱和度和亮度值均在 0和 1之间的颜色

Mathematica 中的基本颜色指定.

Mathematica 直接接收许多指定颜色所用的颜色名. 例如 Red, Gray, LightGreenPurple 这些颜色名是作为衡量 RGBColor 的变量来执行的. 这些颜色名可与颜色指令互换.

第一幅图用一个颜色名来上色, 第二幅图则用精确调制的 RGBColor 指示上色.
In[3]:=
Click for copyable input
Out[3]=

函数 Hue[h] 可以很方便地只用一个参数来指定颜色的范围. h 从0 到 1变化, Hue[h] 由红、黄、绿、青、蓝、洋红、黑再变到红. Hue[h, s, b] 不仅可以指定颜色的 "色调", 还可以指定 "饱和度" 和 "亮度". 饱和度等于1给出最深的颜色,饱和度降到零的过程中,颜色越来越浅.

用户在给指一个图形指令如 RGBColor 时, 它将影响到一个特定列表中的所有后继图形元素. Mathematica 也支持仅影响特定类型的图形元素的各种图形指令.

图形指令 PointSize[d] 指定了所有的 Point 元素在图形对象中应当绘制成以直径为 d 的圆. PointSize 中,直径 d 是整个图形宽度的一个比例.

Mathematica 也提供了图形指令 AbsolutePointSize[d], 它用固定的单位指定点的 "绝对" 直径. 该单位为 英寸, 约等于打印机的一个点.

PointSize[d]按整个图形宽度的比例给出所有点的直径 d
AbsolutePointSize[d]用绝对单位给出所有点的直径 d

点的图形指令.

这是一列点.
In[4]:=
Click for copyable input
Out[4]=
这里使所有点的直径是图形宽度的1/10.
In[5]:=
Click for copyable input
Out[5]=
这里每个点是3个绝对单位.
In[6]:=
Click for copyable input
Out[6]=
Thickness[w]按整个图形宽度的比例给出所有线的宽度 w
AbsoluteThickness[w]用绝对单位给出所有线的宽度 w
Dashing[{w1,w2,...}]将所有的线显示为长度依次为 , , ... 的虚线段
AbsoluteDashing[{w1,w2,...}]用绝对单位去度量虚线段
CapForm[type]给出所有线的端点形状
JoinForm[type]给出所有线的接点形状

线的图形指令.

这里生成一列绝对宽度不同的线条.
In[7]:=
Click for copyable input
Out[7]=
这里使这些线的图形.
In[8]:=
Click for copyable input
Out[8]=

图形指令 Dashing 可产生各种虚线. 其基本思想是把线分解为交替绘出和省去的小段. 通过改变这些小段的长度,可以得到不同风格的线. Dashing 允许用户指定一系列小段的长度. 在画出整条线的过程中, 这些小段的长度序列可以根据需要多次重复.

这里是每小段的长度相同的虚线.
In[9]:=
Click for copyable input
Out[9]=
这里是一条点化虚线.
In[10]:=
Click for copyable input
Out[10]=
Dashing 的功能可以通过指定一个空指令而关闭. 此处仅第二条线的 Dashing 功能被关闭.
In[11]:=
Click for copyable input
Out[11]=

图形指令要求给出一个特定的数值来表示大小, 也接受 TinySmallMediumLarge 等文字描述. 对于每一个指令来说, 这些值被精确地调整以保证图形的显示能被人眼正确地感知.

这里指定图形的宽度为大,虚线长度为中等.
In[12]:=
Click for copyable input
Out[12]=
这里指定整个复点为大的绿点.
In[13]:=
Click for copyable input
Out[13]=

图形指令 CapForm 用于指定直线端点的形状. 端点形状可以设为 、或者 .

这里显示了CapForm 可以选择的不同形状.
In[14]:=
Click for copyable input
Out[14]=

CapForm["Butt"] 指明线段要恰好在其终点处结束. 使线段端点比线段终点延长了一半的线宽. 使线段端点为直径等于线宽的半圆弧.

使用 JoinForm 指令可以指定线段之间接点的形状.

这里是 JoinForm 可以选择的不同形状.
In[15]:=
Click for copyable input
Out[15]=
JoinForm[{"Miter",d}]使接点最长可延伸至线宽的 d

指定斜面连接的最大长度.

当相邻线段的夹角很小时,交点处的点会变得很长. 在缺省情况下,过长的点会被削平. 其斜面连接的极限长度缺省设置使得五点连成的星型交点尖锐, 但更尖锐的接点会被削成斜面. 可以使用 JoinForm 设定斜角极限来精确控制尖锐的交角被削平的程度. 斜角极限指的是被削成斜面前交角处的点被允许的可以超过顶点的线宽数量.

缺省的斜角极限使得七角星型的点变钝了.
In[16]:=
Click for copyable input
Out[16]=
通过指定一个大的斜角极限使得星型尖锐.
In[17]:=
Click for copyable input
Out[17]=
RoundingRadius->r指定圆角使用的半径 r

Rectangle 中的 RoundingRadius 选项.

可以使用 RoundingRadius 选项, 通过指定矩形顶点的半径, 将 Rectangle 基元的角变成圆的. 实际上圆角程度不能超过相邻面长度的一半.

这里是圆角程度不同的矩形.
In[18]:=
Click for copyable input
Out[18]=

使用 Mathematica 图形指令的一种方法是将它们直接插入图形对象使用的图形基元列表中. 然而有时需要图形指令全局地使用, 例如确定一类图形元素显示的总体风格. 可以用一些图形选项的的设置按图形指令去指定这样的风格.

PlotStyle->style指定在 Plot 中所有曲线的风格
PlotStyle->{{style1},{style2},...}指定在 Plot 的曲线序列中循环使用的风格
MeshStyle->style指定密度图和曲面图中的网格使用的风格
BoxStyle->style指定三维图形中边界单元所使用的风格

一些指定风格的图形选项.

这里产生一个指定所有曲线使用同种风格的图形.
In[19]:=
Click for copyable input
Out[19]=
可以使用不同的 PlotStyle 表达式指定每条曲线的风格.
In[20]:=
Click for copyable input
Out[20]=

各种 "风格选项" 可指定如何显示一个图形中的图形元素. Mathematica 也提供了影响整个图形显示的选项.

Background->color指定图形的背景颜色
BaseStyle->color指定图形的基本风格, 相关元素不受 PlotStyle 的影响
Prolog->g在画图前给出图形
Epilog->g在画图后给出图形

影响整个图形的选项.

在灰色背景下用白色画出整个图形.
In[21]:=
Click for copyable input
Out[21]=
这里将轴也画成白色.
In[22]:=
Click for copyable input
Out[22]=
New to Mathematica? Find your learning path »
Have a question? Ask support »