在R ggplot2中绘制三个分组的数据列

时间:2016-05-19 16:27:33

标签: r ggplot2

我的数据类似于以下内容:

Ref Var Obs 
A   A   2   
A   C   6   
A   T   8   
A   G   2   
C   A   9   
C   C   1   
C   T   8   
C   G   4   
T   A   6   
T   C   1   
T   T   9   
T   G   6   
G   A   3   
G   C   1   
G   T   7   
G   G   2

我正在尝试使用qplot来绘制数据,但我不确定如何显示三列信息而不是仅显示两列信息,并且在分组符号中。我想绘制一个条形图,其y轴上的obs和{x}上的varref分组。以下是我想要做的事情的想法:

example plot

1 个答案:

答案 0 :(得分:3)

如果我理解你的图形,我建议:

您的数据:

seq=c("A", "C", "T", "G")
df=data.frame('Ref'=rep(seq, each=4), 'Var'=rep(seq, 4), 'Obs'=rpois(16, 2))

情节:

ggplot(data=df) + aes(x=Ref, group=Var, y=Obs) + geom_bar(stat='identity', position="dodge", fill="lightblue", color="black")     

渲染:

enter image description here

或者,如果您需要查看完整的轴图例,可以使用facetting:

ggplot(data=df) + aes(x=Var, y=Obs) + 
  geom_bar(stat='identity', position="dodge", fill="lightblue", color="black")  +
  facet_grid(~Ref)

enter image description here

最后一句话:如果你想改变条形的顺序,只需修改因子变量的水平。