#r #plot #rstudio #pheatmap
#r #график #rstudio #физическая карта
Вопрос:
Я часто создаю большие графики в RStudio, которые сохраняю в PDF, но также хотел бы частично показать в отчете knitr в формате PDF. Есть ли способ создать полный объект, затем вырезать часть (в идеале верхний левый угол) и включить это второе изображение в отчет PDF?
в качестве примера, код pheatmap, который создает график с 56 столбцами и 100 строками. Я хотел бы показать только самые левые верхние 10col и 10 строк, но если я сделаю выборку входных данных, я, очевидно, получу другой график из-за кластеризации, выполняемой для разных данных. Кроме того, я хотел бы получить решение, применимое к любым типам графиков (не только к pheatmap).
drows <- "euclidean"
dcols <- "euclidean"
clustmet <- "complete"
col.pal <- c("lightgrey","blue")
main.title <- paste("Variant (freq>", minfreq, "%) in all samples", sep="")
hm.parameters.maj <- list(hm.maj.data,
color = col.pal,
fontsize = 10,
cellwidth = 14,
cellheight = 14,
scale = "none",
treeheight_row = 200,
kmeans_k = NA,
show_rownames = T,
show_colnames = T,
main = main.title,
clustering_method = clustmet,
cluster_rows = TRUE,
cluster_cols = FALSE,
clustering_distance_rows = drows,
clustering_distance_cols = dcols,
legend=FALSE)
# To draw the heatmap on screen (comment-out if you run the script from terminal)
do.call("pheatmap", hm.parameters.maj)
# To draw to file (you may want to adapt the info(header(vcf))sizes)
outfile <- paste("major-variants_heatmap_(freq>", minfreq, ")_", drows, ".pdf", sep="")
do.call("pheatmap", c(hm.parameters.maj, filename=outfile, width=24, height=35))
Заранее спасибо
Стефан
Комментарии:
1. Просто идея правильного подхода: выполнение кода
myObject <- do.call("pheatmap", hm.parameters.maj)
даст вам хорошо структурированный объект. Когда вы вызываетеstr(myObject)
консоль, вы увидите, что вызывается атрибутmyObject$gtable
, который, по-видимому, содержит всю необходимую информацию, когда вы хотите создать свой измененный вывод.2. Вот как работать с таблицами, подобными тем, которые у вас есть: cran.r-project.org/web/packages/gtable/gtable.pdf
3. Спасибо @nisole, это звучит действительно очень правильно. Я изучаю это как можно скорее.