가로 (x) 배치의 표시로 막대가 충분한 막대 차트를 작성 중이므로 불필요한 세로 격자 선을 그리는 것을 피하고 싶습니다.
opts ()에서 마이너 및 메이저 그리드 라인의 스타일을 지정하는 방법을 이해하지만 수직 그리드 라인을 억제하는 방법을 평생 알 수는 없습니다.
library(ggplot2)
data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
ggplot(data, aes(x, y)) +
geom_bar(stat = 'identity') +
opts(
panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'),
panel.grid.minor = theme_line(colour = NA),
panel.background = theme_rect(colour = NA),
axis.ticks = theme_segment(colour = NA)
)
이 시점에서 모든 격자 선을 억제 한 다음 geom_hline ()을 사용하여 다시 그려야 할 것 같습니다. / geom_hline ()에 공급할 주요 격자 선 위치.)
어떤 생각이라도 주시면 감사하겠습니다!
답변
사용해보십시오
scale_x_continuous (중단 = NULL)
이렇게하면 모든 수직 격자 선과 x 축 눈금 표시 레이블이 제거됩니다.
답변
ggplot2 0.9.2부터는 “테마”를 사용하는 것이 훨씬 쉬워졌습니다. 이제 아래에 설명 된대로 panel.grid.major.x 및 panel.grid.major.y에 별도로 테마를 할당 할 수 있습니다.
# simulate data for the bar graph
data <- data.frame( X = c("A","B","C"), Y = c(1:3) )
# make the bar graph
ggplot( data ) +
geom_bar( aes( X, Y ) ) +
theme( # remove the vertical grid lines
panel.grid.major.x = element_blank() ,
# explicitly set the horizontal lines (or they will disappear too)
panel.grid.major.y = element_line( size=.1, color="black" )
)
이 예제의 결과는 매우보기 흉하지만 수평선과 x 축 눈금을 유지하면서 수직선을 제거하는 방법을 보여줍니다.
답변
이렇게하면 데이터 포인트 만 남게됩니다.
ggplot(out, aes(X1, X2)) +
geom_point() +
scale_x_continuous(breaks = NULL) +
scale_y_continuous(breaks = NULL) +
opts(panel.background = theme_blank()) +
opts(axis.title.x = theme_blank(), axis.title.y = theme_blank())
답변
관련 스레드에서 내 대답 복사,
2020 년에 이것을 찾는 사람들을 위해 ggExtra 라이브러리의 removeGrid 함수 형태의 솔루션을 찾았습니다. rdrr.io> removeGrid
ggplot2 버전 3.3.0 및 ggExtra 버전 0.9에서 작동하도록 테스트하여 격자 선없이 축 눈금을 제공했습니다.
답변
옵션 1:
data_df <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
ggplot(data_df, aes(x, y)) +
geom_bar(stat = 'identity') +
theme(panel.background = element_rect(fill = "white"))
옵션 2 :
data_df <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4))
ggplot(data_df, aes(x, y)) +
geom_bar(stat = 'identity') +
theme(
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank()
)