如何保存自定义(仅保留下三角)ggpairs 图表?

How to save a customized (only the lower triangle retained) ggpairs graph?

我使用此 中的 gpairs_lower 函数仅显示 ggpairs 矩阵的下三角。但是现在我不知道如何保存结果图。

保存 ggpairs 图的常用方法在此处 无效

gpairs_lower <- function(g){
  g$plots <- g$plots[-(1:g$nrow)]
  g$yAxisLabels <- g$yAxisLabels[-1]
  g$nrow <- g$nrow -1

  g$plots <- g$plots[-(seq(g$ncol, length(g$plots), by = g$ncol))]
  g$xAxisLabels <- g$xAxisLabels[-g$ncol]
  g$ncol <- g$ncol - 1

  g
}

library("GGally")
g <- ggpairs(iris[, 1:4], 
             lower  = list(continuous = "points"),
             upper  = list(continuous = "blank"),
             diag  = list(continuous = "blankDiag")
     )


png("graph.png", height = 720, width = 720)
gr <- gpairs_lower(g)
print(gr)
dev.off()

## graph.png is not saved

它不起作用,我相信,因为 gpairs_lower 而不是 ggpairs not return a ggmatrix 对象。

Richard 如有任何帮助,我们将不胜感激。

编辑:现在上面的代码有效了!

您的代码存在问题,默认的高度和宽度单位是像素,因此您保存的是 7x7 像素的图像!!尝试其他值或更改 units:

png("myPlotMatrix.png", height = 700, width = 700)
g <- ggpairs(iris[, 1:4], 
             lower  = list(continuous = "points"),
             upper  = list(continuous = "blank"),
             diag  = list(continuous = "blankDiag")
)

g<-gpairs_lower(g)
print(g)
dev.off()

看看?png:

width: the width of the device.

height: the height of the device.

units: The units in which height and width are given. Can be px (pixels, the default), in (inches), cm or mm.