02.07.2013 Views

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

B.4 分类变量散点图示 171<br />

identify(x, y = NULL, labels = seq_along(x),<br />

pos = FALSE, n = length(x), plot = TRUE, atpen = FALSE,<br />

offset = 0.5, tolerance = 0.25, ...)<br />

x和y给出散点图的原始数据,以便鼠标位置坐标与原始数据进行距离<br />

匹配,labels为数据的标签,默认用数据的序号1、2、3……。<br />

当数据的散点图呈现出异常现象时,如存在离群点等等,我们可以很<br />

方便地通过identify()函数找出该数据的名称或者序号。<br />

B.3.3 响应鼠标键盘的动作<br />

grDevices包中的函数getGraphicsEvent()则提供了更灵活的交互,它可<br />

以捕获三种鼠标事件(鼠标按下、鼠标移动和鼠标弹起)和一种键盘事件<br />

(键盘输入)。用法如下:<br />

1 > usage(getGraphicsEvent)<br />

getGraphicsEvent(prompt = "Waiting for input",<br />

onMouseDown = NULL, onMouseMove = NULL, onMouseUp = NULL,<br />

onKeybd = NULL)<br />

后面四个参数分别定义了鼠标和键盘事件所对应的行为(通过给定函<br />

数实现),具体解释和示例请参见其帮助文件,这里我们只是给出一个例子<br />

说明。图B.5演示了鼠标移动的效果:我们在黑色背景的窗口中画了一批数<br />

据点,然后通过鼠标的移动在鼠标周围生成一个矩形框,框内的点变成黄<br />

色且放大的样式,而框外的点为红色的小点。随着鼠标的移动,矩形框也<br />

会在屏幕上移动,从而会框住不同的点。<br />

事实上当今已经有很多类似的交互式图形系统,例如GGobi系统(Cook<br />

and Swayne, 2007)、Java的图形系统、OpenGL等,R中也有相应的基于这<br />

些系统的函数包如rggobi(Temple Lang et al., 2009)、iplots(?)、rgl(Adler<br />

and Murdoch, 2010)等;感兴趣的读者可以去研究这些图形系统以及函数<br />

包。<br />

B.4 分类变量散点图示<br />

我们知道,因为分类变量只取有限的几个值,所以两个分类变量之间<br />

的散点图通常只是若干个网格点,而这些点本身并不能反映出该位置上真

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!