1

我有一些AllPCA按站点划分的数据 ( )。我曾经qplot (PC1, PC2, data=AllPCA, colour=Population, facets=~Population) + scale_colour_manual (values=cbbPalette)按站点对两个变量的散点图进行分面。

示例 AllPCA:

ID PC1 PC2 Population
Syd1 0.0185 0.0426 Sydney
Was1 0.0167 0.0415 Washington
Rea1 0.0182 0.0431 Reading
Aar1 0.0183 0.0427 Aarhus

这很好用,但只在每个窗口中提供来自每个站点的数据。

我想创建相同的图,但将其余数据保留在每个多面图中,只是变灰。你能帮我吗?

4

2 回答 2

1

一种方法是使用两个geom_point()调用。首先我使用data=AllPCA[,-4]- 这是你的数据,没有 columnPopulation和 set color="grey"。因此,所有点都将以灰色绘制在所有方面。然后我添加第二个geom_point()所有数据和color=Population. 这将只添加与每个Population不同颜色对应的分面中的点(使用时facet_wrap())。

ggplot()+
  geom_point(data=AllPCA[,-4],aes(PC1,PC2),color="grey")+
  geom_point(data=AllPCA,aes(PC1,PC2,color=Population))+
  facet_wrap(~Population)

在此处输入图像描述

于 2013-07-25T11:10:35.440 回答
0

多次复制数据:

n <- length(unique(AllPCA[["Population"]]))
dat <- do.call(rbind, rep(list(AllPCA), n))

为 (a) 刻面和 (b) 颜色创建新列:

dat[["Population2"]] <- rep(AllPCA[["Population"]], each = n)
dat[["PopulationMatch"]] <- with(dat, Population == Population2)

阴谋:

library(ggplot2)
qplot(PC1, PC2, data = dat, colour = PopulationMatch, facets = ~ Population2) + 
  scale_colour_manual(values = c("grey", "black"))

在此处输入图像描述

于 2013-07-25T10:50:34.540 回答