创建堆叠的条形图,其中某些列作为“填充”参数,行摘要作为“ x”参数

时间:2019-05-01 17:10:07

标签: r ggplot2

我下面有datframe:

Target_Category<-c("Adhesion","Cytochrome")
Validated<-c(5,10)
Candidate<-c(7,8)
dataf<-data.frame(Target_Category,Validated,Candidate)

,我想创建一个堆叠的条形图,如所附图像中的条形图,其中fill参数应由ValidatedCandidate给出,而x参数应为每行的摘要。

我尝试过类似的事情:

p4 <- ggplot() + geom_bar(aes(y = , x = Target_Category, fill = ), data = dataf,
                          stat="identity")
p4

enter image description here

1 个答案:

答案 0 :(得分:1)

在绘制之前,您需要重塑数据集:

library(tidyverse)

Target_Category<-c("Adhesion","Cytochrome")
Validated<-c(5,10)
Candidate<-c(7,8)
dataf<-data.frame(Target_Category,Validated,Candidate)

dataf %>%
  gather(col, value, -Target_Category) %>%
  ggplot() + 
  geom_bar(aes(Target_Category, value, fill = col), stat="identity")

enter image description here

剩下的就是为变量选择有用的名称(即在绘图上显示的内容),选择所需的颜色并将图例放置在所需的位置。