我有一个包含这么多行(数千个城市)的热图,为了清楚起见,我只想显示其中几个的名称。我仍然想显示整个热图,因为颜色可以说明情况(城市名称并不重要,但出于教学目的,我想显示其中的一些)。
library(ggplot2)
n <- 15
c.1 <- c(rep(x="Summer", times=n), rep(x="Winter", times=n))
c.2 <- c(rep(x="Dallas", times=n/5), rep(x="Seattle", times=n/5), rep(x="Atlanta", times=n/5), rep(x="Chicago", times=n/5), rep(x="Boston", times=n/5))
c.3 <- c("Morning", "Midday", "Evening")
to.plot <- data.frame(cbind(c.1, c.2, c.3))
to.plot$value <- sample(rep(x=c("Bad", "Average", "Good"), times=100), 10)
colnames(to.plot) <- c("Season", "City", "Time", "value")
to.plot$City <- factor(to.plot$City, levels=c("Seattle", "Chicago", "Dallas", "Atlanta", "Boston"), ordered=TRUE)
p <- ggplot(to.plot, aes(x=Season, y=City))
p <- p + geom_tile(aes(fill=value), colour="white")
p <- p + scale_fill_manual(values=c("red", "green", "yellow"))
p <- p + theme(legend.position = "none", axis.text.x=element_text(angle=90, 8))
p <- p + facet_grid(. ~ Time)
p <- p + theme(legend.position = "none")
print(p)
在只有五个城市的示例图中,很容易看到所有五个城市名称,但在具有数千个城市的实际示例中,它们模糊在一起。
我怎样才能看到完全相同的热图,但只显示三分之一左右的城市名称?我包括了有序因子,因为顺序在绘图可视化中是相关的(分解可能是我遇到问题的原因,但因子顺序必须存在)。