[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으로 시작하는 경우).이 값이 표시되지 않거나 표시되지 않을 수도 있습니다. 데이터를 먼저 플로팅하고 검사 한 다음 위의 팁을 사용하여 플롯의 미학을 향상시키는 것이 좋습니다.