02.07.2013 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

170 附录 B 作图技巧<br />

B.3 交互操作<br />

R的图形设备可以支持简单的交互式操作,包括支持对鼠标和键盘输入<br />

的响应等,这主要由graphics和grDevices包中的以下几个函数来完成:<br />

B.3.1 获取鼠标位置的坐标<br />

graphics包中的函数locator()可以获取当前鼠标在图形坐标系统中的位<br />

置坐标,其用法为:<br />

1 > usage(locator)<br />

locator(n = 512, type = "n", ...)<br />

当我们在图形窗口中创建了一幅图形后,我们可以调用该函数并通过<br />

点击鼠标获得坐标。参数n表示鼠标点击的次数,type为点击鼠标之后生成<br />

的图形类型,可以边点鼠标边画点或画线,后面的参数为一些图形参数,<br />

设定点或线的样式。<br />

该函数在点击鼠标事件结束之后会返回一个包含坐标数据的列表,列<br />

表中x和y分别表示横坐标和纵坐标的位置。如下例:<br />

1 > plot(1)<br />

2 > # 任意点击三下鼠标<br />

3 > locator(3)<br />

4 > # 返回坐标(结果取决于用户点击的位置)<br />

5 > # $x<br />

6 > # [1] 0.6121417 0.8046955 1.2561452<br />

7 > # $y<br />

8 > # [1] 0.9562884 0.8710420 1.1648702<br />

借助locator()返回的坐标数据,我们可以更方便地向图中添加一些图形<br />

元素,尤其是图例。因为R的图形设备大多都不支持图形元素的鼠标拖拽,<br />

所以事先使用locator()在图上“探探路”对画图还是很有帮助的。<br />

B.3.2 识别鼠标附近的数据<br />

graphics包中的函数identify()可以通过鼠标点击一幅散点图识别鼠标周<br />

围的数据点,并且可以给辨识出的数据添加标签,其默认用法如下:<br />

1 > usage(identify, "default")

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

Saved successfully!

Ooh no, something went wrong!