我正在使用R进行绘图。当我的图形绘制时,图例出现在我想要的位置,但颜色缺失。 mtcars 2
是mtcars
(其中一个预加载的数据集)的修改版本,它将模型和原始国家/地区添加到数据集中。 mtcars.pca
是我命名为冗余分析(素食主义下的rda函数),mtcars.clust
标题为mtcars连续因子的层次聚类(素食主义者的hclust函数)以下是我使用的代码mtcars2
。
pca.fig = ordiplot(mtcars.pca, type = "none", las=1, xlim=c(-15,15), ylim = c(-20,10))
points(pca.fig, "sites", pch = 19, col = "green", select = mtcars2$origin =="domestic")
points(pca.fig, "sites", pch = 19, col = "blue", select = mtcars2$origin =="foreign")
ordiellipse(mtcars.pca, mtcars2$origin, conf = 0.95, label = FALSE)
ordicluster(mtcars.pca, mtcars.clust, col = "gray")
legend("bottomright", title="Car Origin", c("domestic", "foreign"), col = "origin")
答案 0 :(得分:1)
您需要在legend
和pch
中指定颜色矢量:
library("vegan")
data(dune, dune.env)
ord <- rda(dune)
plot(ord, type = "n")
cols <- c("red","blue","green")
points(ord, col = cols[dune.env$Use], pch = 19)
legend("bottomright", legend = levels(dune.env$Use), bty = "n",
col = cols, pch = 19)
如果您不添加pch
,但只需使用col = cols
legend()
,则不会显示任何积分。由于您在pch = 19
来电中使用了points()
,因此请在legend()
来电中使用相同内容。
另外,请注意如何在一次通过中绘制不同颜色的点。我有一些示例和解释,通过我在上面的代码中使用的索引技巧,在几年前的博客文章中实现了这一点:http://www.fromthebottomoftheheap.net/2012/04/11/customising-vegans-ordination-plots/
答案 1 :(得分:0)