2017-01-02 8 views
0

Ich versuche to this link zu verwenden gridGraphics::grid.echo nach, so kann ich ein GvizplotTracks Grundstück mit einem ggplot kombinieren mit cowplot ‚s plot_grid.gridGraphics :: grid.echo Fehler: EXPR muss eine Länge 1 Vektor sein

Nach Gviz ‚s vignette und this link, hier ist was ich tue:

require(Gviz) 
data(geneModels) 
gtrack <- GenomeAxisTrack() 
itrack <- IdeogramTrack(genome = "hg19", chromosome = as.character(geneModels$chromosome[1])) 
grtrack <- GeneRegionTrack(geneModels, genome = "hg19",chromosome = as.character(geneModels$chromosome[1]), name = "Gene Model") 

require(gridGraphics) 

gwrap_plot <- function(x) { 
    tree <- grid::grid.grabExpr(gridGraphics::grid.echo(x)) 
    u <- grid::unit(1, 'null') 
    gtable::gtable_col(NULL, list(tree), u, u) 
} 

graphics.off() 
plotTracks(list(itrack, gtrack, grtrack)) 
track.plot <- recordPlot() 
gwrap_plot(track.plot) 

Und ich bekomme diese Fehlermeldung:

Error in switch(x[[2]][[1]]$name, C_abline = C_abline(x[[2]]), C_plot_new = C_plot_new(x[[2]]), : 
    EXPR must be a length 1 vector 

Jede Idee, was ist das Problem der gridGraphics 's grid.echo mit Gviz' s plotTracks Grundstück?

Antwort

1

grid.echo für Basis Grafiken, erscheint Gviz grid Grafiken,

p1 = grid::grid.grabExpr(plotTracks(list(itrack, gtrack, grtrack), add = TRUE)) 
p2 = ggplot2::qplot(1:10, 1:10) 

gridExtra::grid.arrange(p1, p2, ncol=2) 

enter image description here

zu verwenden
Verwandte Themen