使用ggplot2绘制条形图

时间:2017-04-29 21:26:05

标签: r ggplot2 facet-grid

我希望像这样制作图表: enter image description here

我的数据如下:

temp<-data.frame(agecat=c("40-49","40-49","50-59","50-59","60+","60+"),
                  ANY=c("NO","YES","NO","YES","NO","YES"),
                  median=c(0.81,0.83,0.78,0.83,0.84,0.89),
                  up=c(1.2,1.25,1.25,1.31,1.44,1.34),
                  down=c(0.53,0.41,0.41,0.47,0.56,0.69))

(图中的HIV就像我的数字中的任何一样)

我尝试了下面的代码,它不起作用。

ggplot(temp,aes(agecat,median,group=ANY,color=ANY,LABEL=round(median)))+geom_point()+facet_grid(~ANYPLAQ+agecat, scales="free", space="free")+geom_errorbar(aes(ymin=down,ymax=up),width=0.2)

我只能得到这样的数字: enter image description here

我希望每个栏目之间的宽度在年龄组和年龄组之间是不同的。

有人可以给我一些建议,谢谢!!

1 个答案:

答案 0 :(得分:0)

很难说出发生了什么,因为您提供的数据框中的变量与ggplot()调用中使用的变量不同,但ggplot中的许多分面错误可以通过调用as.factor(your_variable)来解决。例如facet_grid(~as.factor(ANYPLAQ) + as.factor(agecat)希望这会有所帮助,下次更具体。