UFO ET IT

ggplot2 플롯에서 수직 격자 선을 어떻게 억제 할 수 있습니까?

ufoet 2020. 11. 19. 22:23
반응형

ggplot2 플롯에서 수직 격자 선을 어떻게 억제 할 수 있습니까?


가로 (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 축 눈금을 유지하면서 수직선을 제거하는 방법을 보여줍니다.


다른 옵션은 그리드 레벨 편집을 참조하십시오.

https://github.com/hadley/ggplot2/wiki/Editing-raw-grid-objects-from-a-ggplot


이렇게하면 데이터 포인트 만 남게됩니다.

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())

참고 URL : https://stackoverflow.com/questions/2678141/how-can-i-suppress-the-vertical-gridlines-in-a-ggplot2-plot

반응형