R 同時提供了允許用戶直接用滑鼠在一個圖上提取和提交資訊的函數。
其中最為簡單的是函數
locator():
locator(n, type)n (默認 512)個點
被選擇,或者另外一個滑鼠鍵被點擊了。參數
type 允許在被選擇的點上畫圖並且有
高級畫圖命令一樣的效果;默認情況下不能畫圖。
locator() 以雙分量 x 和 y 的列表
形式返回所選中點的位置資訊。
locator() 常常沒有參數。當我們很難設定一些圖形元素
(如圖例和標籤)在圖上的放置位置時,互動式選定
位置資訊可能是一種非常好的辦法。
例如,在特異點(outlying point)的旁邊
標注一些提示資訊,我們可以用下面的命令
> text(locator(1), "Outlier", adj=0)
(如果當前設備(如 postscript)不支持
互動式使用,則 locator() 會被自動忽略。)
identify(x, y, labels)labels 定義的標籤
(在labels為空時,默認為點的索引值)放置在 x 和
y (利用滑鼠左鍵)決定的點旁邊。
當滑鼠右鍵被點擊時,
返回選擇的點的索引。
有時候我們想標定一個圖上的一些特定點,而不是
它們的位置。例如,我們可能期望用戶能在圖形顯示上選擇一些
有意思的點,然後以某種方式處理。
假定有兩個數值向量 x 和 y 構成的一系列
座標 (x, y),
我們可以如下使用
函數 identify():
> plot(x, y)
> identify(x, y)
函數 identify() 自己不會標識,但允許用戶
簡單的移動滑鼠指標和在一個點附近點擊滑鼠左鍵。
如果有一個點在滑鼠指標附近,那麼它將會把自己的索引值
(也就是在x/y 向量中的位置)標記在點的旁邊。
還有一種方案是,你可以通過 identify() 的參數 labels 設置
其他的文字資訊(如樣本名字等),並且可以通過參數 plot = FALSE 禁止
標記重疊在一起。在這個過程結束時(見上面),
identify() 返回所選點的索引值;
你可以利用這些索引值提取
原始向量 x 和 y 中的點資訊。