R的新手,长时间使用google搜索这个(可能很简单)的东西。
我想根据他们是否有巢来描绘生育后代的雄性比例。 (我不想要他们生育了多少后代的信息)。这是我的数据集“男性”
fishID nest off
fish1 1 25
fish2 0 0
fish3 0 5
fish4 1 15
fish5 1 0
fish6 0 2
fish7 0 0
fish8 1 4
我已经使用以下代码将后代的值更改为0和1(虽然这感觉很笨拙)......
#converts the values in offspring to 0 and 1s
vars=c("off")
males[males$off != "0", vars]="1"
males
...我可以使用...
绘制比例ggplot(males,aes(x = males$nest,fill = males$off)) +
geom_bar(position = "fill")
...但是我想给它们上色以使0(无巢)是一种颜色而1(巢)是另一种颜色,那么没有父亲后代的雄性比例是每种颜色的较淡的版本。上面根据“后代”产生颜色,而不管“巢”。
小贴士欢迎。 (Mac OS X,R 3.0.3 GUI 1.63 Snow Leopard build(6660))
答案 0 :(得分:1)
这是你正在寻找的吗?
library(ggplot2)
males$nest <- as.factor(males$nest)
males$off <- as.factor(males$off)
ggplot(males, aes(x = nest, fill = off)) +
geom_bar(width = 0.25) +
scale_fill_manual(values = c('green', 'darkgreen'))
答案 1 :(得分:1)
完成它!谢谢。这是我错过的互动的填充。
require(ggplot2)
males$off <- factor(as.numeric(males$off != 0))
males$nest <- as.factor(males$nest)
ggplot(males, aes(x = nest, fill = interaction(males$nest, males$off))) + geom_bar(width = 0.25) + scale_fill_manual(values = c('deepskyblue3', 'tomato3', 'deepskyblue', 'tomato'))
(最终需要与搜索天数相同数量的代码行...)