首页 文章

ggplot2中geom_bar上的边框颜色错误

提问于
浏览
2

我正在通过抽样周绘制各种长度类别的鱼类数量的条形图 .
这里有一个名为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"))

这很有效,除了条形图或图例元素周围没有边框:

Chart with no borders

但是当我在这一行中添加 colour="black" 以获得黑色边框时:

g + geom_bar(aes(fill=Fork, colour="black"))+ theme(axis.text.x 
element_text(angle=65, vjust=0.6))....

我改为使用名为 "black" 的项目获得带有新图例的红色边框 . 无论我选择何种颜色,我都会得到这个 . 图例项目的名称会更改(即蓝色,绿色),但边框颜色保持红色,图例项目填充仍为黑色 . 见下文 . 我知道这一定是一个简单的愚蠢错误,但我无法弄清楚 . 有任何想法吗?提前致谢!

Chart with red borders

1 回答

  • 2

    colour="black" 移到aes()语句之外 . aes()使用数据中的变量来创建美学,因此您就不存在了 .

    还找到here

相关问题