GGplot 未显示 x 轴上的所有点

问题描述 投票:0回答:1

我有以下数据框,其中 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。 我希望该图表突出显示每个项目的所有项目阶段,并用一条线或条显示它已经通过的阶段和当前阶段。

enter image description here enter image description here

为了避免任何疑问,请考虑可能存在第 6 阶段,我希望在上图中表示它,即使我的数据框在此阶段没有任何项目。

r ggplot2 graph
1个回答
0
投票
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()
© www.soinside.com 2019 - 2024. All rights reserved.