gridGraphics::grid.echo error: EXPR must be a length 1 vector
gridGraphics::grid.echo error: EXPR must be a length 1 vector
我正在尝试根据 to this link 使用 gridGraphics::grid.echo
因此我可以使用 [=16= 将 Gviz
plotTracks
绘图与 ggplot
组合]的plot_grid
.
继 Gviz
之后的 vignette and this link,这是我所做的:
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)
我得到这个错误:
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
知道 gridGraphics
的 grid.echo
和 Gviz
的 plotTracks
情节有什么问题吗?
grid.echo
用于基本图形,Gviz 似乎使用 grid
图形,
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)
我正在尝试根据 to this link 使用 gridGraphics::grid.echo
因此我可以使用 [=16= 将 Gviz
plotTracks
绘图与 ggplot
组合]的plot_grid
.
继 Gviz
之后的 vignette and this link,这是我所做的:
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)
我得到这个错误:
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
知道 gridGraphics
的 grid.echo
和 Gviz
的 plotTracks
情节有什么问题吗?
grid.echo
用于基本图形,Gviz 似乎使用 grid
图形,
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)