R 如何修剪ggplot中的额外空间

R 如何修剪ggplot中的额外空间,r,ggplot2,R,Ggplot2,我正在尝试使用ggplot2制作一个非常单一的百分比热图,理想情况下,它将只有两个单独的细列。我尝试了下面的代码,相信aes中的宽度选项可以解决这个问题 p_prev_tg <- ggplot(tg_melt, aes(x = variable , y = OTU, fill = value, width=.3)) + geom_tile() + scale_fill_gradientn(colours =

我正在尝试使用ggplot2制作一个非常单一的百分比热图,理想情况下,它将只有两个单独的细列。我尝试了下面的代码,相信aes中的宽度选项可以解决这个问题

p_prev_tg <- ggplot(tg_melt, aes(x = variable , y = OTU, fill = value, 
                    width=.3)) + geom_tile() + 
                    scale_fill_gradientn(colours = hm.palette2(10)) + 
                    xlab(NULL) + ylab(NULL) + 
                    theme(axis.text=element_text(size=7)) 
p_prev_tg

p\u prev\u tg这个解决方案怎么样

set.seed(1234)
tg_melt <- data.frame(variable=rep(c("Prevalence_T","Prevalence_NT"), each=10),
                      OTU=rep(paste0("OTU_",1:10),2),
                      value=rnorm(20))

library(RColorBrewer)
library(ggplot2)
hm.palette2 <- colorRampPalette(rev(brewer.pal(11, 'Spectral')))

p_prev_tg <- ggplot(tg_melt, aes(x = as.numeric(variable), y = OTU, fill = value)) + 
                    geom_tile() + 
                    scale_fill_gradientn(colours = hm.palette2(10)) + 
                    xlab(NULL) + ylab(NULL) + 
                    theme(axis.text=element_text(size=7)) + 
                    scale_x_continuous(breaks=c(1,2),
                      limits=c(0,3), 
                      labels=levels(tg_melt$variable))+
                    theme_bw()

p_prev_tg
set.seed(1234)

tg\u melt尝试删除
width=.3
我最初尝试过,但是瓷砖和绘图都太宽了。
+coord\u fixed()
,或者可能是
+coord\u fixed(expand=FALSE)
并且不设置宽度。这正是我想要的,谢谢!