我想消除ggplot每列的每种颜色之间的空白区域

时间:2018-02-03 18:42:40

标签: r ggplot2

我想消除每列中每种颜色之间的空白

enter image description here

我使用了以下代码

ggplot(data=TranscriptionTargetsClassTable, aes(x=Target, y = Class)) +
 geom_tile(aes(fill = Class), color = "black", size = 0.1) + 
 coord_flip() + 
 theme_classic(base_size = 16)

1 个答案:

答案 0 :(得分:0)

我看到了两种解释Q的方法 - 首先,通过将绘图对齐成一列来移除空白区域。

TranscriptionTargetsClassTable <- data.frame(Target=sample(LETTERS,10,replace=FALSE),
                                             Class=sample(c('A','B','C'),10,replace=TRUE))

library(ggplot2)
ggplot(data=TranscriptionTargetsClassTable, aes(x=Target, y = 1,fill = Class)) + 
  geom_tile()+ coord_flip() + theme_classic(base_size = 16)

enter image description here

或者,对绘图重新排序,以使具有相同颜色的行之间没有空白区域。

TranscriptionTargetsClassTable$Target2 <- factor(TranscriptionTargetsClassTable$Target, 
                                                 levels=unique(TranscriptionTargetsClassTable$Target[order(TranscriptionTargetsClassTable$Class)]), ordered=TRUE)
ggplot(data=TranscriptionTargetsClassTable, aes(x=Target2, y = Class,fill = Class)) + 
  geom_tile()+ coord_flip() + theme_classic(base_size = 16)

enter image description here

如果您有不同的意图,请告诉我。