我正在通过抽样周绘制各种长度类别的鱼类数量的条形图 .
这里有一个名为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"
的项目获得带有新图例的红色边框 . 无论我选择何种颜色,我都会得到这个 . 图例项目的名称会更改(即蓝色,绿色),但边框颜色保持红色,图例项目填充仍为黑色 . 见下文 . 我知道这一定是一个简单的愚蠢错误,但我无法弄清楚 . 有任何想法吗?提前致谢!
1 回答
将
colour="black"
移到aes()语句之外 . aes()使用数据中的变量来创建美学,因此您就不存在了 .还找到here