0

我使用了R 中提供的代码:如何成功显示集群矩阵热图(相似的颜色模式被分组),但是我无法用文本标签替换 Y 轴,这可能吗?

library(reshape2)
library(ggplot2)

# Create dummy data
set.seed(123)
df <- data.frame(
  a = sample(1:5, 25, replace=TRUE),
  b = sample(1:5, 25, replace=TRUE),
  c = sample(1:5, 25, replace=TRUE)
)

# Perform clustering
k <- kmeans(df, 3)

# Append id and cluster
dfc <- cbind(df, id=seq(nrow(df)), cluster=k$cluster)

# Add idsort, the id number ordered by cluster 
dfc$idsort <- dfc$id[order(dfc$cluster)]
dfc$idsort <- order(dfc$idsort)

# use reshape2::melt to create data.frame in long format
dfm <- melt(dfc, id.vars=c("id", "idsort"))

ggplot(dfm, aes(x=variable, y=idsort)) + geom_tile(aes(fill=value))
4

1 回答 1

3

您可以使用scale_y_continuous()设置breaks=然后提供labels=(例如仅使用字母)。使用expand=c(0,0)内部参数,scale_...您可以删除图中的灰色区域。

ggplot(dfm, aes(x=variable, y=idsort)) + geom_tile(aes(fill=value))+
  scale_x_discrete(expand=c(0,0))+
  scale_y_continuous(expand=c(0,0),breaks=1:25,labels=letters[1:25])
于 2013-07-19T18:55:26.757 回答