[r] 원점이 0에서 시작하도록 강제

ggplot2에서 y 축과 x 축의 원점 / 차단을 어떻게 설정할 수 있습니까?

x 축의 선은 정확히이어야합니다 y=Z.

함께 Z=0또는 다른 소정 값.



답변

xlim그리고 ylim여기에 그것을 잘라하지 않습니다. 당신은 사용할 필요가 expand_limits, scale_x_continuous그리고 scale_y_continuous. 시험:

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for

여기에 이미지 설명을 입력하십시오

p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))

여기에 이미지 설명을 입력하십시오

점이 잘리지 않도록 약간 조정해야 할 수도 있습니다 (예 : x = 5및 참조) y = 5.


답변

ggplot에 다음을 추가하십시오.

+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) +
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for


p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) +
  scale_y_continuous(expand = c(0, 0), limits = c(0, NA))

여기에 이미지 설명을 입력하십시오

마지막으로, 가지고 실수 차트 떨어져 데이터를 제외하지 않도록주의하십시오 . 예를 들어, a로 position = 'dodge'인해 막대가 차트에서 완전히 사라질 수 있습니다 (예 : 값이 0이고 축을 0으로 시작하는 경우).이 값이 표시되지 않거나 표시되지 않을 수도 있습니다. 데이터를 먼저 플로팅하고 검사 한 다음 위의 팁을 사용하여 플롯의 미학을 향상시키는 것이 좋습니다.


답변