还在学习R,并一直在努力策划。以下是我的数据的一部分,我将尝试解释情节的类型:
> head(bees.net.counts)
Month Block Treatment Flower Bee_Richness Bee_Abundance
1 May 1 UB POSI 1 1
2 May 2 DS ERST 4 38
3 May 2 UB RUBU 2 2
4 May 3 DS ERST 3 4
5 May 3 DS TROH 1 10
6 May 3 GS ERST 1 1
我想制作一个图,其中Flower在x轴上(有54个不同的),Bee_Richness或Bee_Abundance在y轴上,不同颜色的符号用于Block(n = 4)和阴影量在治疗中的每一个符号(n = 3)(即第1组治疗UB是未填充的红色圆圈,第1组治疗DS是半阴影红色的圆圈,第1组治疗GS是完全阴影红色)。
我遇到的问题是每条线都被绘制而不是将每个点放在特定的花spp上面(有多个行,例如CHFA,但那些代表不同的块和处理)。
我也在月份尝试了这个,在那里我将四个月分开以制作不同的图形(以限制x轴的长度)。 5月有10个记录,有4种不同的花种。我仍然无法想办法做到这一点。
感谢您的帮助!!
编辑:这是我希望获得的内容= plot idea
答案 0 :(得分:0)
这使用@ d.b解决方案的想法,但改进了轴标签。
plot(x = as.numeric(as.factor(df$Flower)), df$Bee_Richness,
pch = as.numeric(as.factor(df$Block)),
col = as.numeric(as.factor(df$Treatment)),
xaxt="n", xlab="Flower", ylab="Richness")
axis(1, at=1:length(levels(df$Flower)),
labels=levels(df$Flower))
一些补充说明
根据您的要求,角色基于Block。
颜色基于治疗。我们来看看吧
颜色/处理。诀窍是,当你使治疗成为一个因素,
每个值在内部表示为整数,因此您可以
在因子上使用as.numeric并进行翻译
DS为1,GS为2,UB为3.这使得参数为
col = as.numeric(as.factor(df$Treatment))
给DS颜色1,依此类推。 R使用数字1-8作为一些
易于访问的颜色。由于你只需要3,这样可以正常工作。
同样,
pch = as.numeric(as.factor(df$Block))
为小测试数据中的三个Block值选择字符1到3。