이게 당신이 찾고 있는게 있나요?
ID <- 1:50
A <- runif(50,1,100)
df <- data.frame(ID,A)
ggplot(df, aes(x = ID, y = A)) +
geom_point() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
scale_x_continuous("ID", labels = as.character(ID), breaks = ID)
이이 이미지를 생성합니다 :
그래서 당신은 모든 ID 값의 레이블을 얻을 것이다. 당신이 눈금 선을 제거하려는 경우 theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
EDIT를 추가하여 당신이 그들을 제거 할 수 있습니다 (내 취향을 너무 많이 있습니다) : 더 쉬운 방법은 바로 플롯의 요인으로 ID를 사용하는 것입니다. 같은 : 라벨이 겹치는 문제에 관하여 :
ggplot(df, aes(x = factor(ID), y = A)) +
geom_point() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
xlab("ID")
이 방법의 장점은없는 ID를
EDIT2에서 빈 공간을 얻을 수 없다는 것입니다 난 짐작할 점은 많은 수의 ID로 구성된다는 것입니다. 우리가 이것을 처리 할 수있는 몇 가지 방법이 있습니다.
ggplot(df, aes(x = factor(ID), y = A)) +
geom_point() +
scale_x_discrete(breaks = ID[c(T,F,F)]) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
xlab("ID")
리드 :
하나의 아이디어가 축 브레이크 인수를 수정하여 x 축에서 각 3 라벨을 숨길 것 : 그래서 당신의 줄거리는 다음과 같습니다 말할 수 이에 : 레이블을 숨기는 것은 옵션이 아니다
경우에, 당신은 줄거리에 플롯을 분할 할 수있다.
df$group <- as.numeric(cut(df$ID, 4))
ggplot(df, aes(x = factor(ID), y = A)) +
geom_point() +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
xlab("ID") +
facet_wrap(~group, ncol = 1, scales = "free_x")
는이 리드 :
당신의 ID 이름이 매우 긴 것으로 가정. 라벨을 회전시키는 것이 좋습니다. 참조 : https://stackoverflow.com/questions/1330989/rotating-and-spacing-axis-labels-in-ggplot2 – Linus