Как сохранить настроенный (сохранен только нижний треугольник) график ggpairs?
Я использовал 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 Telford Любая помощь будет оценена.
РЕДАКТИРОВАТЬ: Теперь код выше работает!
1 ответ
Проблема с вашим кодом заключается в том, что по умолчанию единицами высоты и ширины являются пиксели, поэтому вы сохраняете изображение размером 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
:
ширина: ширина устройства.
высота: высота устройства.
единицы: единицы измерения высоты и ширины. Может быть px (пиксели, по умолчанию), в (дюймах), см или мм.