2012-02-24 5 views
5

Я хотел бы добавить точки вручную к сюжету (посредством щелчков мыши), а затем генерировать координатные данные из этих точек.R: Генерировать данные координат из пользовательских точек?

Есть ли пакет или набор функций, которые позволили бы мне сделать это в R?

ответ

6

Для этого вы можете использовать базовую функцию locator(). Попробуйте, например, следующее:

plot(1:4) 
df <- data.frame(locator()) 
## Now, on the plotting device: 
## 
##  (1) "Left-click" on each of the four points 
##  (2) "Right-click --> Stop" to return to the command-line 

## The object that is returned, and assigned to df will look 
## something like the following 
df 
     x  y 
1 1.008072 1.032795 
2 2.011049 2.002365 
3 3.004381 2.995299 
4 3.997714 4.011595 

locator() часто бывает полезно, когда вам нужно точно поставить что-то - текст или легенду, скажем - на участке, в котором система координат участка не легко для считывания осей. Например, попробуйте это, щелкнув один раз, прежде чем вернуться в командную строку:

barplot(VADeaths) 
text(locator(1), "I clicked here", col="red") 
+0

Отлично! Возможно ли, чтобы график отображал точки, когда я нажимаю на них? –

+0

Конечно. Вы можете сделать «locator (type =« p »)», чтобы иметь точки, нанесенные в каждом из выбранных вами мест. Посмотрите на странице справки, а также на 'locator()', а затем немного поиграйте с ним, чтобы узнать о некоторых других вариантах/возможных приложениях. Приветствия. –

+0

Ну только это само по себе не строится, пока все точки не будут введены. Я все понял. Это работает: while (nrow (df) <10) df <- rbind (df, data.frame (локатор (n = 1, type = "p"))) –

Смежные вопросы