Нажмите, чтобы получить координаты диаграммы рассеяния - PullRequest
4 голосов
/ 03 мая 2010

Скажем, я делаю диаграмму рассеяния с тысячами точек:

ggplot(head(data, n=2000), aes(length, coverage))+ 
    geom_point(alpha = 0.5, color = 'navyblue')  + coord_trans(x='log', y='log')

альтернативный текст http://fourmidable.unil.ch/temp/scatterplot.png

Я хочу добавить метки "20 или около того самых крайних точек" (в верхнем правом и нижнем правом углах). Их легко идентифицировать визуально. Но получить их программно кажется небольшим бременем. (требуется много операторов if).

Можно ли как-нибудь нажать на графический вывод R, чтобы получить их точные координаты?

Спасибо, Янник

Ответы [ 2 ]

7 голосов
/ 03 мая 2010

Аналогом сетки (пакет ggplot2, а также пакет Lattice основаны на графике сетки) функции locator () является grid.locator ().

Благодаря Решетчатой ​​книге Дипаян Саркар !

3 голосов
/ 03 мая 2010

Не знаю с ggplot, но с базовой графикой вы можете использовать identify:

plot(length,coverage,type='p')
identify(length,coverage)

Теперь вы можете использовать мышь для нажатия на точки, и R покажет, какому наблюдению они соответствуют. Нажатие кнопки мыши, отличной от первой, завершает процесс, и identify возвращает номера наблюдения в качестве значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...