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

时间:2019-02-24 21:00:00

标签: r ggplot2 ggally ggpairs

我使用了answer中的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不会 返回ggmatrix对象。

Richard任何帮助将不胜感激。

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

1 个答案:

答案 0 :(得分:1)

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

Context

units

  

width:设备的宽度。

     

height:设备的高度。

     

单位:给出高度和宽度的单位。可以是px   (像素,默认设置),以(英寸),厘米或毫米为单位。