p <- ggplot() +
geom_line(data = df_tidy,
mapping = aes(x = fct_rev(fct_inorder(task)),
y = date,
color = category,
alpha = completed),
size = 10) +
geom_hline(yintercept = as.Date("2026-10-01"),
colour="red",
linetype="dashed") +
annotate("text",
x = 6, # điều chỉnh vị trí text
y = as.Date("2026-10-01"),
label = "Hôm nay\n2026-10-01",
color = "red",
hjust = -0.1) +
geom_text(data = df_label,
mapping = aes(x = fct_rev(fct_inorder(task)),
y = date,
label = label_ok),
hjust = 0.5,
size = 5) +
coord_flip() +
scale_color_manual(values = c("pink", "lightgreen", "yellow", "coral")) +
scale_alpha_discrete(range=c(0.2, 1),
guide="none") +
scale_y_date(
limits = c(start_date, end_date),
breaks = date_label,
labels = date_label_ok) +
labs(title = "Lịch khai giảng Tự Học R (2026-2027)",
x = "",
y = "",
colour = "Chuyên đề") +
theme_classic(base_size = 16) +
theme(axis.text.x = element_text(angle = 0),
panel.grid.minor = element_line(colour="white",
size=0.5),
legend.position = "none",
plot.title = element_text(hjust = 0)) +
theme(panel.grid.major.y = element_line(color = "gray90"))
# p
png(filename = "gantt_ok.png",
width = 12,
height = 5,
units = "in",
res = 300)
p
library(grid)
library(gridExtra)
library(png)
logor <- readPNG("logo.png")
logor -> m
w <- matrix(rgb(m[, , 1], m[, , 2], m[, , 3], m[, , 4] * 1),
nrow = dim(m)[1])
grid.raster(w, x = 0.9, y = 0.74, width = 0.15)
dev.off()