ggplot2:删除条形图中的颜色并绘制边框

5

我目前正在使用ggplot2绘制一个具有太多填充级别的条形图。结果,我无法确定一根条形图何时结束,另一根条形图何时开始。

这是我目前正在进行的示例数据代码。

variable<-c("X1","X1","X1","X1","X1","X1","X1","X1","X1","X2","X2","X2","X2","X2","X2","X2","X2","X2","X3","X3","X3","X3","X3","X3","X3","X3","X3")
Length.1<-c(4.24,0.81,0.81,NA,NA,NA,NA,NA,NA,4.24,0.81,0.81,NA,NA,NA,NA,NA,NA,4.24,0.72,0.72,0.16,NA,NA,NA,NA,NA)
data<-data.frame(variable=as.factor(variable),value=as.factor(1:length(variable)),Length.1=Length.1)

## Plots a stacked bar chat in ggplot2 with text labels. Credit to MYaseen208
library(ggplot2)
p <- qplot(variable, Length.1, data = data, geom = "bar", fill = value,     theme_set(theme_bw()))
p + geom_text(aes(label = Length.1), size = 3, hjust = 0.5, vjust = 3, position =     "stack") 

目前,图表看起来不错。但是在我的实际数据集中,length(data$value)要高得多,我无法清楚地看到不同条形之间的差异。因此,我希望将条形的颜色更改为白色,并在每个条形周围绘制黑色边框。有人知道我该如何做吗?

2个回答

9

我建议使用ggplot函数而不是qplot。这样你就可以手动设置颜色和填充:

ggplot(data,aes(x=variable, y=Length.1,group=value))+
  geom_bar(fill="white",color="black")+
  geom_text(aes(label = Length.1), size = 3, hjust = 0.5, vjust = 3, position ="stack") +
  theme_bw()

0
p <- ggplot(aes(variable, Length.1), data = data)+ geom_bar(stat="identity",colour="black", fill="white")+geom_text(...)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接