[英]R Plot - Multiple Variables, Numeric and Categorical, Layered
仍在学习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轴上,块的不同颜色符号(n = 4)以及每个阴影中的阴影量治疗符号(n = 3)(即,方框1治疗UB是未填充的红色圆圈,方框1治疗DS是带有半阴影红色的圆圈,方框1治疗GS是完全阴影的红色)。
我的问题是,绘制每条线而不是将每个点都放在特定的花spp上方(有多行具有CHFA,但这些行代表不同的块和处理)。
我也按月尝试过,我将四个月分开制作了不同的图形(以限制x轴的长度)。 五月有10个记录,有4种不同的花。 我仍然不知道这样做的方法。
谢谢您的帮助!!
编辑:这是我希望得到的= 情节的想法
这使用@db解决方案的思想,但改进了轴标签。
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))
一些补充说明
根据您的要求,角色基于方块。 颜色基于处理。 让我们看一下颜色/处理。 诀窍在于,当您将“治疗”作为一个因子时,每个值在内部都表示为整数,因此您可以在该因子上使用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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.