我有以下数据框,其中 x 轴代表项目的阶段(1 到 5 按升序排列),y 轴代表项目的名称。
df1 = data.frame(a = c("Project1", "Project2", "Project3","Project4"),
b = c(2, 4, 2, 5))
项目 1 >>> 第 2 阶段
项目 2 >>> 第 4 阶段
...
我想使用 ggplot 绘制一个图表,该图表根据阶段向量显示项目所有阶段的 x 轴,即使我的数据框在阶段 1 或阶段 3 中没有项目。
phases <- c("phase1", "phase2", "phase3", "phase4", "phase5")
数据框的 x 轴表示项目目前处于哪个阶段。因此,项目 1 处于阶段 2,即已完成阶段 1,现在处于阶段 2。项目 2 处于阶段 4,已完成阶段 1、2 和 3。 我希望该图表突出显示每个项目的所有项目阶段,并用一条线或条显示它已经通过的阶段和当前阶段。
为了避免任何疑问,请考虑可能存在第 6 阶段,我希望在上图中表示它,即使我的数据框在此阶段没有任何项目。
library(ggplot2)
# Sample data
df1 <- data.frame(
a = c("Project1", "Project2", "Project3", "Project4"),
b = c(2, 4, 2, 5)
)
# Horizontal bar chart with project names and custom phase labels
ggplot(df1, aes(x = a, y = b)) +
geom_bar(stat = "identity") +
labs(x = "Project", y = "Phase") +
scale_y_continuous(breaks = 1:5, labels = c("phase 1", "phase 2", "phase 3", "phase 4", "phase 5")) +
coord_flip()