0

我使用 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)
4

1 回答 1

2

R 有两个图形系统,base并且grid. (grid是什么ggplot2lattice建立在。)你的情节是用 建立的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

于 2020-03-26T18:54:16.500 回答