R,ggplot bar,所有条形宽度相同吗?

时间:2016-05-28 02:20:03

标签: r ggplot2

我正在尝试找到一个ggplot特定的工作,以便我可以生成条形图,其中所有条形图都是相同的宽度。我知道这是因为我“缺少价值”,因为条形宽度在一个空白处左右填充。但我正在处理非常大的数据集并使用重塑来使数据变宽,然后插入占位符值以消除空白不是我想要做的事情。

测试数据:

df<-data.frame(tax=c("type1","type1","type1","type1","type2","type2"),Gene=c("a","b","c","c","a","b"),logFC=c(-2,-4,2,1,3,-1))

ggplot代码,它为“c”提供了一个额外的宽条

bar<-ggplot(df, aes(x=Gene, order=Gene,y=logFC,fill=tax))+ geom_bar(stat="identity",position="dodge")

任何建议不要求我更改输入df中的任何值?

**这个问题不重复。我正在寻找以前给出的替代解决方案。以前的解决方案不起作用。我不能简单地dcast(填充= 0)并重新融化我的数据框架(相信我,我已经尝试了几周)。 我正在寻找ggplot特定的答案。

1 个答案:

答案 0 :(得分:1)

我认为它仍然是一个宽条,因为c只有type1两次而且没有类型2

如果使用facet_wrap,它将保持相同的宽度

ggplot(df, aes(x=Gene, y=logFC, color = tax))+ 
  geom_bar(stat = "identity", position="dodge", width=.5) +
  facet_wrap(~tax)

enter image description here