x와 y가 요인 인 그래프를 만들려고하지만 간격이 있으면 선이 연결되는 것을 원하지 않습니다. 이것을 어떻게 달성 할 수 있습니까?
library(ggplot2)
df <- data.frame(x = c('a', 'b', 'c', 'd', 'e'), y = c('a', 'a', NA, 'a', 'a'))
ggplot(df, aes(x = x, y = y, group = y)) +
geom_point() +
geom_line()
플롯에서 NA를 원하지 않고 b와 d 사이에 선이 있어서는 안됩니다.
전체 데이터 세트에 대한 추가 작업이 필요할 수 있지만 한 가지 접근 방식은 원하지 않는 연결을 방지하기 위해 ggplot에서 사용할 그룹화 변수를 만드는 것입니다.
df <- data.frame(x = c('a', 'b', 'c', 'd', 'e'), y = c('a', 'a', NA, 'a', 'a'), stringsAsFactors = FALSE)
df %>%
mutate(grp = with(rle(y), rep(seq_along(lengths), lengths))) %>% # y can't be a factor
mutate_all(as.factor) %>%
na.omit() %>% # Drop NA cases so they're not plotted
ggplot(aes(x = x, y = y, group = grp)) +
geom_point() +
geom_line() +
scale_x_discrete(drop = FALSE) # Preserve empty factor levels in the plot
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다