5.6 Funções gráficas interativas
5.6.1 locator()
Esta função extrai coordenadas de um gráfico.
# veja o help
?locator
# fazemos um gráfico
# se quiser entender esses dados
?trees data("trees")
class(trees)
colnames(trees)
<- trees$Girth
Circunferencia <- trees$Height
Altura plot(Circunferencia, Altura, type = "p", pch = 21, bg = "red")
locator(n = 1)
# clique na figura dentro do gráfico
# veja que no console há uma lista com os valores das coordenadas x e y
# pode fazer a mesma coisa já salvando as coordendas num ojbeto. Colete 2 pontos agora, traçando uma linha entre eles
<- locator(n = 2, type = "l")
cds # dois valores para cada coordenada
cds # posso usar os valores obtidos, por exemplo para plotar uma flexa
<- cds$x[1]
x0 <- cds$x[2]
x1 <- cds$y[1]
y0 <- cds$y[2]
y1 arrows(x0, y0, x1, y1, lwd = 2, col = "red")
5.6.2 identify()
Esta função identifica os pontos de um gráfico.
# veja o help
?identify
# fazemos um gráfico
data("trees")
<- trees$Girth
Circunferencia <- trees$Height
Altura # plotamos vazio
plot(Circunferencia, Altura, type = "n")
<- sample(1:nrow(trees), 1) # um valor de indice aleatorio
ss # um ponto qualquer em vermelho
points(Circunferencia[ss], Altura[ss], pch = 21, cex = 1.5, bg = "red")
# o resto dos pontos em branco
points(Circunferencia[-ss], Altura[-ss], pch = 21, cex = 1.5, bg = "white")
# identificar pontos. Execute a funçào e selecione no ponto vermelho
identify(Circunferencia, Altura, n = 1, tolerance = 1)
# o numero que aparece no gráfico é o indice
# portanto, deve ser igual ao valor de
ss trees[ss, ]