2.2.2 设置外观
曲线的默认设置很多时候是不满足用户要求的,如无法区分不同曲线、没有强调突出的效果,外观样式设置可以克服这些缺点。外观设置一般包括线型、粗细、颜色、显示模式、图形标记等。
通过执行菜单命令【Graph】|【Modify Trace Appearance】(保持Graph为当前窗口)打开曲线样式设置对话框。在Graph上右击空白处选择【Modify Trace Appearance】或者右击曲线选择【Modify wavename】打开同样的对话框,还可以直接双击曲线图对象打开样式设置对话框,如图2-8所示。
图2-8 曲线样式设置对话框
对曲线样式对话框【Modify Trace Appearance】的说明如下。
1)【Trace】选项框
列出当前Graph显示的一维数据。选择某个wave,进行曲线外观调整。按Shift键可以同时对多个wave做外观调整。
2)【Line】选项区域
【Size】表示线型宽度,用以设置曲线的粗细程度,最大可以取到10,设为0时曲线不显示。【Style】表示线型,可以选择点状线或是线状线等。
3)【Mode】下拉列表框
选择绘制模式。Igor提供了13种曲线绘制模式,分别介绍如下。
(1)Lines between points模式:默认模式,用直线将数据点连接起来,如图2-9所示。
图2-9 Lines between points模式示例图
(2)Sticks to zero模式:用长短不同的竖线来表示数据大小,长度的计算以y=0作为参考点,大于0竖线位于x坐标轴上方,小于0位于x坐标轴下方。当选择此模式时,会出现两个复选框,【+Color】设置正数竖线的颜色,【-Color】设置负数竖线的颜色,如图2-10所示。
图2-10 Sticks to zero模式
(3)Dots模式:每个数据显示为一个点,如图2-11所示。
图2-11 Dots模式示例图
(4)Markers模式:用一个特殊标记(Marker)来显示每一个数据。这些标记可以是一个圆圈,或者是一个小正方形等,如图2-12所示。
图2-12 Markers模式示例图
系统提供了大量的默认标记图形可供选择,如图2-13所示。
图2-13 系统内置图形标记(Markers)
图2-13中,【Size】表示Marker的大小,它右边的下拉菜单提供系统默认的Marker图形。【Thick】设置Marker轮廓线宽。【Opaque】设置是否透明,若选中,则后面出现的Marker会覆盖前面的Marker。【Stroke Color】表示Marker轮廓颜色。
除了系统自定义Marker之外,还可以选择字符和箭头作为Marker,甚至可以自己绘制一个个性化的Marker。单击图2-13中Marker选择界面的【Text】按钮打开图2-14所示对话框。
图2-14 字符图形标记对话框
通过【Text Markers】对话框可以将Marker指定为一个字符串。【Char】表示一个固定字符或是不多于3个字符的字符串。【Text Wave】表示通过一个字符串型wave存放每一个数据对应的Marker,该Marker就是相应的字符串。【Numeric Wave】表示通过一个数字型wave存放每个数据点对应的Marker,含义和【Text Wave】相同。注意,若选择wave, wave的长度必须和待设置的曲线长度相等。【Rotation】代表字符Marker旋转的角度,【Anchor】表示字符Marker相对于数据点的位置,可以通过【X Offset】和【Y Offset】进行精细调节。使用文本型wave作为Marker的一个可能应用是在显示曲线的同时显示每一个数据点的大小。图2-15所示是字符型Marker的示例。
图2-15 字符型标记作为曲线数据图形标记示例
单击图2-13Marker选择界面的【Arrows】按钮,打开【Arrow Markers】设置界面,如图2-16所示。
图2-16 箭头图形标记设置对话框
【Arrow Info】下拉列表框中选项表示一个N×2的二维数组,第一列存放了Arrow的大小,第二列存放了Arrow的角度,【Arrow Positioning】设置箭头相对于数据点的位置,【Line thickness】设置箭头的粗细,【Head Length】设置箭头头部的长度,【Head Fatness】设置箭头头部的宽度。箭头图形标记在绘制一些带有方向的数据如力场或是电场时非常有用。利用箭头图形标记的例子如下,效果如图2-17所示。
图2-17 箭头图形标记示例
Make/N=50 sinx, cosx; //创建两个wave
Setscale/I x,0,2∗pi, sinx, cosx; //设置两个wave的
//x坐标为 0 到2π
sinx=sin(x); //设置wave sinx为
//它的横坐标的正弦
cosx=cos(x); //设置wave cosx为它的横坐标的余弦
Make/N=(50,2)arrowinfo; //创建Arrowinfo信息wave
Setscale/I x,0,2∗pi, arrowinfo; //设置Arrowinfo wave的x坐标为 0 到2π,代表一圈
arrowinfo[][0]=10; //设置所有的箭头长度都是 10;
arrowinfo[][1]=x; //设置随着角度的增加箭头偏转的方向
Display sinx vs cosx; //显示sinx,并且以cosx为横坐标
ModifyGrapharrowMarker(sinx)={arrowinfo,1,5,0.5,1}
//设置Marker为Arrow.这一步也可以通过曲线
//外观设置对话框设置箭头Marker完成,注意[Arrow
//Info]要选择arrowinfo
(5)Lines and markers模式:此模式是Line模式与Marker模式的结合,Line模式下和Marker模式下的所有操作在这里都适用。此模式下有一个复选框【Sparse Markers】,含义非常简单,表示每隔多少个数据点显示一个Marker,在Marker太密集彼此覆盖影响显示时可以选择并设置此选项,如图2-18所示。
图2-18 Lines and markers模式示例图
(6)Bars模式:条形图。和Stick to zero模式一样,只是把竖线换成了条形图,如图2-19所示。
图2-19 Bars模式示例图
Bars模式和Stick to zero模式的设置基本相同,但增加了两个新的设置选项:【+Fill type】和【-Fill Type】,代表填充模式。可以采用纯色填充,并设置填充的透明度,还可以选择Pattern进行填充。Bars模式经常用于绘制Category Plot。Bars模式对话框如图2-20所示。
图2-20 Bars模式设置界面
(7)Cityscape模式:看起来类似于城市轮廓,因此得名,如图2-21所示。
图2-21 Cityscape模式
(8)Fill to zero模式:填充模式,曲线与y=0所围成的部分用指定的颜色填充。Fill to zero模式下的选项和Bars模式下的选项一样,可以指定填充样式和正负区间的不同填充颜色,如图2-22所示。
图2-22 Fill to zero模式示例图
(9)Sticks and markers模式:此模式是Stick to zero模式和Markers模式的结合。Stick to zero模式和Markers模式下所有的操作此模式下都可以用。示例图如图2-23所示。
图2-23 Sticks and markers模式
(10)Sticks to next模式、Bars to next模式、Fill to next模式、Sticks and markers to next模式:前面提到的Bars、Fill to zero、Sticks and markers和Sticks to zero模式都是以y=0作为参考点,这些模式表示不以y=0作为参考点,而是以紧随其后的wave作为参考点。这些模式要求至少有两个wave,并且具有相同的长度。此时wave在【Modify Trace Appearance】对话框中显示的顺序很重要,可以通过菜单【Graph】|【Reorder Traces】命令或是右击Graph选择【Reorder Traces】改变wave顺序。这些模式下的效果如图2-24所示。
图2-24 Sticks/Bars/Fill/Sticks and markers to next等模式下效果图
当选用这些模式时,【Grouping】下拉菜单自动选择Draw to next选项,例如选择Sticks to next模式后对话框如图2-25所示。
图2-25 Sticks to next模式下对话框
4)【Grouping】下拉列表框
· Keep with next:只有在Category绘制下使用。
· Draw to next:参考点为当前wave下一个wave对应的数据点。
· Add to next:参考点仍然为下一个wave对应数据点,但是绘制数据大小为当前数据与下一个wave对应数据点之和。
· Stack on next:参考点仍然为下一个wave对应数据点,但是当数据与参考wave对应数据异号时不绘制。以两个正弦曲线为例(图2-26),一个振幅较大,一个振幅较小,则Add to next和Stack on next的含义如图2-27和图2-28所示。
图2-26 两个正弦曲线
图2-27 选择Add to next时所绘制的图
图2-28 选择Stack on next时所绘制的图
5)【Error Bars】复选框
选中【Error Bars】复选框后会打开【Error Bars】误差对话框,如图2-29所示。
图2-29 误差对话框
可以分别通过【Y Error Bars】和【X Error Bars】下拉菜单为数据添加误差线,共有5个选项。
· None:不设置Error Bar。
· % of base:每个Error Bar的大小是当前wave对应数据大小的百分比,百分比大小可以设定,如图2-30所示。
图2-30 利用百分比指定wave的误差限
· Sqrt of base:每个Error Bar的大小是当前wave对应数据的平方根。以计数方式获取的实验数据其误差一般为测量值的平方根。
· Constant:每个数据的误差都是固定大小。
· +/-wave:误差由一个wave指定,每个数据的误差由wave中对应的元素指定。可以指定正向和负向误差分别对应的wave,如图2-31所示。
图2-31 利用wave指定误差限
6)【Color】选项
设置曲线颜色。单击【Color】下拉列表为曲线选择不同的颜色。
7)【Set as f(z)】按钮
设置每一个数据点的外观。通过f(z),可以精确地控制每一个数据点的显示样式,就好像数据点的样式依赖于一个函数一样。
f(z)可设置曲线上每个数据点的颜色、Marker的大小、Marker的样式或是Pattern的样式。Igor借助于一个独立的wave来实现上述操作。单击【Set as f(z)】按钮后打开如图2-32所示对话框。
图2-32 【Set as f(z)】对话框
(1)【Color as f(z)】复选框设置曲线上每个数据点的颜色,包括3种模式:Color Table、Color Index Wave和Three Coluse Wave。
· Color Table模式:利用内置配色表,此时【Z Wave】可以选择当前wave,也可以指定一个新wave,该wave长度不能小于待绘制的wave,长度超过时可以单击【Subrange】按钮选择一个区间。从【Color Table】下拉列表框中选择Igor预定义配色表。曲线数据点的颜色将按照如下方式来确定:每一个数据点的颜色值为将【Z Wave】选定的wave对应数据点映射到配色表时对应的颜色。从Z Wave到配色表的映射方式可以为线性映射,也可以为对数映射(当选中【Log Colors】复选框时),如图2-33所示。【First Color at z=】和【Last color at z=】两个选项设置从Z Wave映射到配色表的起始点和终止点。【Auto】表示映射范围为最小到最大值。【Before First Color】和【After Last Color】两项用来设定当Z Wave数据点小于【First Color at z=】和大于【Last color at z=】对应的z数值时,数据点对应的颜色。
图2-33 Color as f(z)设置(a)和绘制曲线每个数据点颜色示例图(b)
· Color Index Wave:使用一个颜色索引wave指定每个数据点的颜色。具体的流程为:选择一个Z Wave,然后选择一个N×3的Color Index Wave,该wave的3列分别存放红绿蓝3种颜色强度数值,范围从0到65535,并且设置了x坐标。数据点的颜色按照如下方式确定:每一个数据点的颜色等于从Z Wave映射到Color Index Wave的x坐标所对应的行存放的颜色值。
· Three Column Wave:Z Wave直接是一个N×3的Color Index Wave,每一行都指定了对应数据点的颜色。这种方式提供了对数据点颜色的绝对控制。
(2)【Marker size as f(z)】复选框:指定一个Z Wave,该wave指定了每一个数据点marker的大小。marker的实际大小按照如下方式确定:将Z Wave映射到Min Marker和Max Marker,对应的数值就是marker的实际大小,映射的范围也可以由【zMin】和【zMax】两个选项指定。本操作仅对Marker模式有效。相应的设置和示例如图2-34所示。
图2-34 【Marker size as f(z)】选项区域设置
Make/N=100 datax, datay, dataz datax=enoise(2); datay=enoise(2); dataz=exp(-(datax ∧2+datay ∧2)) Display datay vs datax; ModifyGraph mode=3, marker=8 ModifyGraph zmrkSize(datay)={dataz, ∗, ∗,1,10}
(3)【Marker number from】复选框:指定一个Z Wave,该Z Wave存放了每一个数据点对应的图形标记(Marker)索引序号。图2-35所示是Igor中Markers及其索引对照图。
本选项设置例子如图2-36所示,在Table中创建wave0和wave1,其中wave1作为Z Wave,显示wave0并设置f(z)。
图2-36 每个数据点使用不同的图形标记示例
(4)【Pattern number from】复选框:和【Marker number from】含义一样,只是Z wave存放的是Pattern的索引。图2-37所示是内置Pattern的索引序号。
图2-37 内置Pattern的索引序号