【问题标题】:Removing sample names in ggplot, PCA删除 ggplot、PCA 中的样本名称
【发布时间】:2020-06-09 13:10:08
【问题描述】:

我想删除我的 PCA 图中的标签并添加点。通过这种方式,您可以轻松地查看它们是否根据它们的类型进行聚类。

我已经成功地将标签的颜色添加到它们的类型中,但我不想看到样本的名称。我只想看到代表样本的点。

这是我迄今为止的 PCA 图:PCA plot

我使用这个示例来执行我​​的 PCA,如何删除示例名称并添加点?

library(ggplot2)

data.matrix <- matrix(nrow=100, ncol=10)
colnames(data.matrix) <- c(
      paste("wt", 1:5, sep=""),
      paste("ko", 1:5, sep=""))
rownames(data.matrix) <- paste("gene", 1:100, sep="")
for (i in 1:100) {
  wt.values <- rpois(5, lambda=sample(x=10:1000, size=1))
  ko.values <- rpois(5, lambda=sample(x=10:1000, size=1))

  data.matrix[i,] <- c(wt.values, ko.values)
}
head(data.matrix)
dim(data.matrix)

pca <- prcomp(t(data.matrix), scale=TRUE) 

## plot pc1 and pc2
plot(pca$x[,1], pca$x[,2])

## make a scree plot
pca.var <- pca$sdev^2
pca.var.per <- round(pca.var/sum(pca.var)*100, 1)

barplot(pca.var.per, main="Scree Plot", xlab="Principal Component", ylab="Percent Variation")

## now make a fancy looking plot that shows the PCs and the variation:

pca.data <- data.frame(Sample=rownames(pca$x),
  X=pca$x[,1],
  Y=pca$x[,2])
pca.data

ggplot(data=pca.data, aes(x=X, y=Y, label=Sample)) +
  geom_text() +
  xlab(paste("PC1 - ", pca.var.per[1], "%", sep="")) +
  ylab(paste("PC2 - ", pca.var.per[2], "%", sep="")) +
  theme_bw() +
  ggtitle("My PCA Graph")

【问题讨论】:

标签: r ggplot2 label pca


【解决方案1】:

您可以通过将geom_text() 替换为geom_point() 来做到这一点:

ggplot(data=pca.data, aes(x=X, y=Y, label=Sample)) +
  geom_point() +
  xlab(paste("PC1 - ", pca.var.per[1], "%", sep="")) +
  ylab(paste("PC2 - ", pca.var.per[2], "%", sep="")) +
  theme_bw() +
  ggtitle("My PCA Graph")

【讨论】:

  • 只需在geom_point() 函数中使用size= 选项。例如,+ geom_point(size=5)
猜你喜欢
  • 1970-01-01
  • 2021-02-24
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
  • 2016-12-18
  • 1970-01-01
  • 1970-01-01
  • 2016-05-22
相关资源
最近更新 更多