분기별로 값의 발전이 어떻게 변하는 지 보여주기 위해 원시 날짜 대신 연도 레이블을 사용하여 간단한 플롯을 만들려고합니다. 그러나 YQ 레이블을 포맷하려고 할 때 제대로 시작되지 않아 오프셋이있는 것처럼 보입니다. 코드와 그림보기
library(tidyverse)
library(zoo)
(df_Example <- tibble(Date = seq(as.Date("2019-01-01"), as.Date("2020-12-31"), by = "day"),
Value = 1))
#> # A tibble: 731 x 2
#> Date Value
#> <date> <dbl>
#> 1 2019-01-01 1
#> 2 2019-01-02 1
#> 3 2019-01-03 1
#> 4 2019-01-04 1
#> 5 2019-01-05 1
#> 6 2019-01-06 1
#> 7 2019-01-07 1
#> 8 2019-01-08 1
#> 9 2019-01-09 1
#> 10 2019-01-10 1
#> # ... with 721 more rows
ggplot(data = df_Example, aes(x = Date, y = Value)) +
geom_line() +
scale_x_date(date_breaks = "3 months",
labels = function(x) format.yearqtr(x, "%Y Q%q"))
그림에서 분명히 알 수 있듯이 레이블이 시작되기 전에 선이 시작됩니다. 저는이 두 가지가 정렬 되었으면합니다.
여기에 옵션이 있습니다.
library(ggplot2)
library(zoo) # as.yearqtr, as.POSIXct.yearqtr
qtr1 <- function(by) {
function(x) {
xqtr <- as.Date(as.POSIXct(as.yearqtr(x)))
seq(xqtr[1], xqtr[2], by = by)
}
}
ggplot(data = df_Example, aes(x = Date, y = Value)) +
geom_line() +
scale_x_date(breaks = qtr1("3 months"),
labels = function(x) zoo::format.yearqtr(x, "%Y Q%q"))
노트 :
https://stackoverflow.com/a/23046072/3358272 는 어느 시점에서 우리가 방금 할 수 있었던 것을 제안합니다
as.Date(as.yearqtr(..))
그러나 그것은 작동하지 않는 것 같습니다. 이 문제 as.Date(as.POSIXct(as.yearqtr(.)))
를 해결 하는 것이 었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다