Здравствуйте, вам придется немного преобразовать ваши данные.
Первый вариант: использовать дату
library(data.table)
library(billboarder)
dt <- fread(text = "year Week Area Task
2019 52 63.68 28.39
2020 1 58.58 25.43
2020 2 61.54 31.75
2020 3 52.33 27.10")
# Convert date
dt[, date := as.Date(paste(year, Week, 1, sep = "-"), format = "%Y-%U-%u")]
# Pivot data
dt <- melt(
data = dt,
id.vars = "date",
measure.vars = c("Area", "Task")
)
# Plot
billboarder() %>%
bb_linechart(dt, bbaes(x = date, y = value, group = variable), show_point = TRUE, type = "area") %>%
bb_x_axis(label = list(text = "Week", position = "outer-right"),
tick = list(culling = list(max = 1))) %>%
bb_y_axis(label = list(text = "Ratio of hours clocked as task", position = "outer-right")) %>%
bb_y_grid(show = TRUE) %>%
bb_colors_manual(opacity = 0.25)
Второй вариант: объединить год и неделю в виде строк
library(data.table)
library(billboarder)
dt <- fread(text = "year Week Area Task
2019 52 63.68 28.39
2020 1 58.58 25.43
2020 2 61.54 31.75
2020 3 52.33 27.10")
# Or just concatenate year and week
dt[, year_week := paste(year, Week, sep = "-")]
# Pivot data
dt <- melt(
data = dt,
id.vars = "year_week",
measure.vars = c("Area", "Task")
)
# Plot
billboarder() %>%
bb_linechart(dt, bbaes(x = year_week, y = value, group = variable), show_point = TRUE, type = "area") %>%
bb_x_axis(
type = "category",
label = list(text = "Week", position = "outer-right"),
tick = list(culling = list(max = 1))
) %>%
bb_y_axis(label = list(text = "Ratio of hours clocked as task", position = "outer-right")) %>%
bb_y_grid(show = TRUE) %>%
bb_colors_manual(opacity = 0.25)
Вы должны использовать type = "category"
в bb_x_axis
, результат немного отличается: