cowplot plot_grid函数将表格绘制为图像和树状图

时间:2017-04-28 16:02:39

标签: r cowplot

我正在尝试使用牛皮图中的plot_grid函数来制作一个自定义绘图,其中第一行的树形图和第二行的两个表(彼此相邻)。现在最终发生的是我的树形图和表格被绘制,但是在两个单独的PDF上。有没有办法将它们全部绘制在同一页面上?以下是我的代码段:

 pdf("test.pdf", width = 12, height = 10)
 x <-tableGrob(frames[[1]])
 y <-tableGrob(frames[[2]])
 plot.clus <-plot(test1,label=diseaseDuration,main=label)
 tables<-grid.arrange(x,y,nrow=1)
 plot_grid(bottom_row,tables)

聚类的输出输出片段(hclust):

 structure(list(merge = structure(c(-61L, -41L, -49L, 1L, -16L...), 
 height = c(4.23833720098634e-13, 6.36507320251999e-13.......),
 order = c(5L, 57L, 12L, 7L, 66L, 31L, 55L, 6L, 10L, 37L,..),
 labels = c("ABC00001", "ABC00002", "ABC00003",......),
 method = "ward.D", 
 call = hclust(d = data, method = "ward.D"), dist.method = 
 "euclidean"), .Names = c("merge", "height", "order", "labels", "method", "call", "dist.method"), class = "hclust")

1 个答案:

答案 0 :(得分:1)

使用plot.clus代替z情节

library( 'ggplot2' )
library( 'cowplot' )
library( 'gridExtra' )

x <- tableGrob( d = data.frame( x = 1:5, y = 1:5 ) )
y <- tableGrob( d = data.frame( x = 1:5, y = 1:5 ) )
z <- ggplot( data = data.frame( x = 1:5, y = 1:5 ), 
             mapping = aes( x = x, y = y ) ) + 
  geom_line( color = 'red' )

p <- ggdraw() +
  draw_plot( plot = z, x = 0, y = .5, width = 1, height = .5 ) +  # z
  draw_plot( plot = x, x = 0, y = 0, width = .5, height = .5 ) +  # x
  draw_plot( plot = y, x = .5, y = 0, width = .5, height = .5 ) + # y 
  draw_plot_label( label = c( "A", "B", "C" ),                    # labels
                   x = c( 0, 0, 0.5 ),
                   y = c( 1, 0.5, 0.5 ), 
                   size = 16 )
# save plot as pdf
save_plot( filename = "test.pdf", plot = p, base_height = 4, base_width = 4 )