Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot一个变量的几何坐标图比例_R_Ggplot2 - Fatal编程技术网

R ggplot一个变量的几何坐标图比例

R ggplot一个变量的几何坐标图比例,r,ggplot2,R,Ggplot2,我有一个数据帧: df_silencer <- data.frame( group = c("inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries","inside_

我有一个数据帧:

df_silencer <- data.frame(
  group = c("inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries","inside_boundaries", "outside_boundaries"),
  value = c(18, 408,43,850,36,594,118,1831,1232,22765),
  cond = c('pef1a','pef1a','ppgk','ppgk','prag2','prag2','pscp1','pscp1','DHS','DHS')
)

谢谢你这就是你要找的吗

df_silencer %>% 
  group_by(cond) %>% 
  mutate(pct = value/sum(value)) %>% 
  filter(group == "inside_boundaries") %>% 
ggplot(aes(x = cond,y = pct,color=cond, fill=cond)) +
  geom_bar(stat="identity") +  
  scale_color_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                     values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_fill_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                    values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_x_discrete(limits=c("DHS","pscp1", "ppgk", "pef1a","prag2"))+
  scale_y_continuous(labels=scales::label_percent(accuracy=1))+
  theme_classic()+
  theme(text = element_text(size=6),axis.title.x = element_blank())+
  guides(color=F, fill=F)+
  labs(y="% inside vs outside boundaries" )


编辑:在条形图上添加百分比数字
这就是你要找的吗

df_silencer %>% 
  group_by(cond) %>% 
  mutate(pct = value/sum(value)) %>% 
  filter(group == "inside_boundaries") %>% 
ggplot(aes(x = cond,y = pct,color=cond, fill=cond)) +
  geom_bar(stat="identity") +  
  scale_color_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                     values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_fill_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                    values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_x_discrete(limits=c("DHS","pscp1", "ppgk", "pef1a","prag2"))+
  scale_y_continuous(labels=scales::label_percent(accuracy=1))+
  theme_classic()+
  theme(text = element_text(size=6),axis.title.x = element_blank())+
  guides(color=F, fill=F)+
  labs(y="% inside vs outside boundaries" )


编辑:在条形图上添加百分比数字

如何在绘图上添加百分比标签?谢谢你的意思是在y轴上,还是想把它们添加到其他地方。如果在y轴上,则应这样做:
scale\u y\u continuous(labels=scales::label\u percent(accurity=1))
例如,在条形图上打印百分比。ThanksI在答案中添加了这个。ThanksI它是完美的。我如何在绘图上添加百分比标签?谢谢你的意思是在y轴上,还是想把它们添加到其他地方。如果在y轴上,则应这样做:
scale\u y\u continuous(labels=scales::label\u percent(accurity=1))
例如,在条形图上打印百分比。谢谢,我在答案中加了这个。谢谢,太完美了
df_silencer %>% 
  group_by(cond) %>% 
  mutate(pct = value/sum(value)) %>% 
  filter(group == "inside_boundaries") %>% 
ggplot(aes(x = cond,y = pct,color=cond, fill=cond)) +
  geom_bar(stat="identity") +  
  geom_text(aes(label=sprintf("%.1f%%", pct*100)), position=position_nudge(y=.0015)) + 
  scale_color_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                     values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_fill_manual(name="Condition",breaks = c("pef1a", "ppgk", "prag2","pscp1",'DHS'),
                    values=c("#FFCC33", "#339900", "#FF3333","#3333FF","black"))+
  scale_x_discrete(limits=c("DHS","pscp1", "ppgk", "pef1a","prag2"))+
  scale_y_continuous(labels=scales::label_percent(accuracy=1))+
  theme_classic()+
  theme(text = element_text(size=6),axis.title.x = element_blank())+
  guides(color=F, fill=F)+
  labs(y="% inside vs outside boundaries" )