我成功使用了R: How do I display clustered matrix heatmap (similar color patterns are grouped)中提供的代码,但是我无法用文本标签替换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))
答案 0 :(得分: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])