Adicionar uma linha a um gráfico com a função Lines() em R
-
Use a função
lines()
para adicionar uma linha a um gráfico em R -
Use
pontos
para adicionar pontos a um gráfico em R -
A ordem de chamada de função
plot
elines
afeta as escalas do gráfico
Este artigo irá introduzir como adicionar uma linha a um gráfico com a função lines()
em R.
Use a função lines()
para adicionar uma linha a um gráfico em R
A função lines()
faz parte do pacote R graphics
e é usada para adicionar linhas ao gráfico. Em primeiro lugar, a função plot
deve ser chamada para construir um gráfico onde há um mapeamento de variáveis especificadas pelos dois primeiros argumentos. Observe que o segundo argumento, que denota as coordenadas do eixo y, é opcional. Uma vez que o gráfico é desenhado, podemos chamar a função lines()
e passar os vetores de coordenadas conforme necessário para adicionar linhas ao gráfico. A função plot
não é necessária para desenhar um gráfico de linha para que a função lines()
funcione.
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "Title of the Plot",
xlab = "Speed (mph)",
ylab = "Stopping Distance (Feet)")
lines(cars$speed, cars$dist/4 , col = "green")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
Use pontos
para adicionar pontos a um gráfico em R
Semelhante à função lines()
, o pacote graphics
fornece a função points()
para desenhar pontos no gráfico. O exemplo a seguir demonstra o cenário onde duas linhas e mapeamentos de pontos são feitos no mesmo gráfico. Observe, porém, que o gráfico de linha original é desenhado com a função plot
.
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "Title of the Plot",
xlab = "Speed (mph)",
ylab = "Stopping Distance (Feet)")
points(cars$speed, cars$dist, col = "blue" )
lines(cars$speed, cars$dist/4 , col = "green")
points(cars$speed, cars$dist/4 , col = "black")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
A ordem de chamada de função plot
e lines
afeta as escalas do gráfico
Às vezes, os dados mapeados com a primeira chamada de função têm escalas que não são suficientes para o mapeamento a seguir. O próximo trecho de código mostra como uma das linhas está quase fora dos limites no gráfico.
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
filter(name %in% c("Mary")) %>% filter(sex=="F")
plot(dat$year, dat$n, type = "l", col = "blue",
main = "Women born with different names",
xlab = "Year",
ylab = "Number of babies born")
lines(dat2$year, dat2$n, col = "red")
Observe que o problema anterior pode ser resolvido com a reordenação manual das linhas, conforme mostrado no exemplo a seguir. Embora, scripts mais complexos possam precisar construir instruções condicionais e verificação dinâmica para os valores máximos dos dados do eixo y.
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
filter(name %in% c("Mary")) %>% filter(sex=="F")
dat3 <- babynames %>%
filter(name %in% c("Mae")) %>% filter(sex=="F")
plot(dat2$year, dat2$n, type = "l", col = "blue",
main = "Women born with different names",
xlab = "Year",
ylab = "Number of babies born")
lines(dat$year, dat$n, col = "red")
lines(dat3$year, dat3$n, col = "orange")
legend("topright", c("Mary", "Alice", "Mae"),
lty = c(1,1,1),
col = c("blue", "red", "orange"))
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook