我正在尝试使用以下数据框在R中创建一个简单的dotplot
(lattice
包):
df<-data.frame(Sediment=c("Algae", "Algae", "Algae", "Bare", "Bare", "Bare", "Dredged", "Dredged", "Dredged"), Rep=c(1,2,3,1,2,3,1,2,3), LeafElongation=c(0, 20.6, 0, 29.1, 41.4, 45.9, 54.1, 22.3, 26.7))
我想使用标记颜色按沉积物和标记形状对数据进行分组,以便按Rep分组数据。到目前为止,这是我的代码:
dotplot(LeafElongation~Sediment, data=df, groups=Sediment, method="jitter", col =
c("darkolivegreen", "darkgoldenrod3", "sienna"), main= "Leaf Elongation: Ramet Plots", ylab="Average total plant leaf elongation (cm)", cex.main=1.7, cex.lab=1.2, cex.axis=1.7)
我已经通过沉积物成功地对我的数据进行了分组,这通常是我想要出现的情节,但我想为每个Rep设置不同的形状(圆圈为1,钻石为2,三角形为3)。我也希望形状被填充而不是打开。另外,我认为jitter
方法应该将重叠点分开,以便可以看到两者,但在这种情况下它似乎不起作用。
答案 0 :(得分:0)
您可以将此作为附加参数添加到点图中以按形状分组。
pch = c(16, 17, 18)[df$Rep]
根据本指南,您可以将16,17,18替换为任何其他形状:http://www.endmemo.com/program/R/pchsymbols.php
答案 1 :(得分:0)
您正在寻找pch
参数。只需将其添加到您的代码中,然后直接使用df$Rep
提供。您可以删除现在不必要的参数groups
。
dotplot(LeafElongation~Sediment, data=df,
method="jitter",
col = c("darkolivegreen", "darkgoldenrod3", "sienna"),
main= "Leaf Elongation: Ramet Plots",
ylab="Average total plant leaf elongation (cm)",
cex.main=1.7, cex.lab=1.2, cex.axis=1.7,
pch = df$Rep)