【问题标题】:How to Save Circlize Chord Diagram as a graphic object如何将 Circlize 和弦图另存为图形对象
【发布时间】:2020-03-26 15:28:27
【问题描述】:

我使用 circlize 包在 R 中创建了一个和弦图。我注意到这个图形没有被保存为 ggplot 对象。我正在尝试使图形成为对象,以便可以将其导出到 Excel。有什么建议么?

chordDiagram(as.data.frame(ba_delivery_flow.sas7bdat), annotationTrack = "grid", preAllocateTracks =  1,
                        direction.type = "diffHeight")
circos.trackPlotRegion(track.index = 2, panel.fun = function(x, y) {
xlim = get.cell.meta.data("xlim")
ylim = get.cell.meta.data("ylim")
sector.name = get.cell.meta.data("sector.index")
circos.text(mean(xlim), ylim[1]+5, sector.name, facing = "clockwise", niceFacing = TRUE, adj = c(0, .5), cex = 1)
circos.axis(h = "top", labels.facing = "clockwise", labels.cex = 0.5, major.tick.percentage = 0.2, sector.index = sector.name, track.index = 2)

}, bg.border = NA)

【问题讨论】:

    标签: r chord-diagram circlize


    【解决方案1】:

    R 有两个图形系统,basegrid。 (gridggplot2lattice 的基础。)您的绘图是使用 base 构建的,不幸的是 base 绘图不是对象 R,因此您不能将它们分配给变量并保存它们有点不同。

    要将绘图保存在文件中,请打开一个图形设备,例如 png,输入您的代码来绘制绘图,然后使用 dev.off() 关闭该设备。像这样:

    png("my_plot.png") 
    
    ## all of your plotting code
    
    dev.off()
    

    查看?png 参数列表,以及其他一些设备。


    顺便说一句,您也可以通过这种方式保存ggplots。如果你有一个绘图对象p,你可以把print(p)放在png()dev.off()之间。这基本上就是ggsave 在内部所做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多