首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于在R中的ggplot中分组

关于在R中的ggplot中分组
EN

Stack Overflow用户
提问于 2020-11-03 04:19:50
回答 1查看 56关注 0票数 0

我有这个数据框架,我想用不同的单个患者数据对期望的列进行分组。我写的代码,但它只适用于一个病人。我想为14个病人做这件事。如图所示,这张图是针对一个患者的,我必须为所有患者显示相似的组。目前我有两个病人的数据。因此,我必须标记14个患者的x轴,但将图留空。

代码语言:javascript
复制
c<- data.frame(Var=character(), 
               Expected=double(),
                         Pat_1=double(),
                         Pat_2=double(),
                         stringsAsFactors=FALSE) 
x<-data.frame("IT-6",2,4,3)
names(x)<-c('Var','Expected','Pat_1','Pat_2')
c<-rbind(c,x)

x<-data.frame("IT-7",3,2,8)
names(x)<-c('Var','Expected','Pat_1','Pat_2')
c<-rbind(c,x)

x<-data.frame("IT-8",4,2,7)
names(x)<-c('Var','Expected','Pat_1','Pat_2')
c<-rbind(c,x)

c_melt<-melt(c, id = c("Var"))
c_melt<-dplyr::rename(c_melt,"Patient"="variable")
c_melt$col<-ifelse(grepl("Expected", c_melt$Patient),"gray88","grey60")

> c_melt
   Var  Patient value    col
1 IT-6 Expected     2 gray88
2 IT-7 Expected     3 gray88
3 IT-8 Expected     4 gray88
4 IT-6    Pat_1     4 grey60
5 IT-7    Pat_1     2 grey60
6 IT-8    Pat_1     2 grey60
7 IT-6    Pat_2     3 grey60
8 IT-7    Pat_2     8 grey60
9 IT-8    Pat_2     7 grey60


ggplot(data=c_melt,aes(x=Var,y=value,fill=col))+
  geom_bar(stat="identity", na.rm = T,position="dodge")+
  labs(y="Display(%)",x="")+
  theme(axis.title.x = element_blank(),
        axis.text.x = element_text(size=12,angle=0,vjust = 0.5,face = c( 'bold')),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank())+
  theme(axis.ticks=element_line(colour = "black"),
        panel.border =  element_rect(colour = "black", fill=NA, size=0.5),
        panel.background = element_blank(),
        axis.title.y  = element_text(size=15,angle=0,vjust = 0.5),
        axis.text.y=element_text(size=12,angle=0,vjust = 0.5))+
  theme(legend.position = "none")+ 
scale_fill_identity()
EN

回答 1

Stack Overflow用户

发布于 2020-11-03 04:25:05

也许你可以试试facet_wrap

代码语言:javascript
复制
ggplot(data=c_melt,aes(x=Var,y=value,fill=col))+
  geom_bar(stat="identity", na.rm = T,position="dodge")+
  facet_wrap(~Patient) +
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64652737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档