我正在按采样周绘制条形图,记录各种长度类别的鱼的数量。
这是一个叫做Chin的数据库:
Trib Week Size2
MM 21 90
SM 21 80
SM 22 100
NM 22 8p
我已将Size2
转换为名为Fork
的因数,并将周转换为称为period
的因数。
这是我的代码:
period<-as.factor(Chin$week)
Chin1<-cbind(Chin, period)
Fork<-as.factor(Chin$Size2)
g <- ggplot(Chin1, aes(period))
g + geom_bar(aes(fill=Fork))+ theme(axis.text.x = element_text(angle=65,
vjust=0.6)) + theme_bw() +scale_fill_manual(values=c("white","gray90",
"gray82", "gray61", "gray48", "black"))
这很好用,除了在条形图或图例的元素周围没有边框
但是当我在此行中添加colour="black"
以获得黑色边框时:
g + geom_bar(aes(fill=Fork, colour="black"))+ theme(axis.text.x
element_text(angle=65, vjust=0.6))....
相反,无论选择什么颜色,我都会得到一个带有新图例的红色边框,其中包含一个名为"black"
的项目。图例项的名称会更改(即蓝色,绿色),但边框颜色保持红色,而图例项的填充仍为黑色。见下文。我知道这肯定是一个简单的愚蠢错误,但我无法弄清楚。有任何想法吗?预先感谢!
答案 0 :(得分:3)
将colour="black"
移到aes()语句之外。 aes()使用数据中的变量来创造美感,因此您要说的是将颜色设为不存在的“黑色”列的基础。
还找到了here