Я пытаюсь удалить текст оси для графиков плотности в ggpairs. Итак, для этого примера я надеюсь удалить текст в фиолетовых полях:
Я считаю, что для удаления текста по оси Y в верхнем левом графике мне может потребоваться внести изменения в функцию, напечатанную в третьей (последней) строке этого кода:
library(GGally)
ps <- ggpairs(diamonds[,c(5,6,7)], upper = list(continuous = wrap("cor", size = 4))) + theme_gray()
attributes(ps[["plots"]][[1]]$fn)["fn"]
Я надеюсь обновить эту функцию в объекте ps, возможно, примерно так:
function (data, mapping, ..., rescale = FALSE)
{
mapping <- mapping_color_to_fill(mapping)
p <- ggplot(data, mapping) + scale_y_continuous()
if (identical(rescale, TRUE)) {
p <- p + stat_density(aes(y = ..scaled.. * diff(range(x,
na.rm = TRUE)) + min(x, na.rm = TRUE)), position = "identity", geom = "line", ...) + theme(axis.text.y = element_blank())
}
else {
p <- p + geom_density(...) + theme(axis.text.y = element_blank())
}
p
}
<bytecode: 0x10cbcbb00>
<environment: namespace:GGally>
, где я просто добавил тему (axis.text.y = element_blank ()) в две части функции. Я просто не уверен, как обновить функцию таким образом в объекте PS. Я надеюсь сделать что-то вроде:
attributes(ps[["plots"]][[1]]$fn)["fn"] <- attributes(ps[["plots"]][[1]]$fn)["fn"] + theme(axis.text.y = element_blank())
За исключением более подробной информации, куда я добавляю тему (axis.text.y = element_blank ()).
Конкретный вопрос: как я могу обновить эту функцию?
Общий вопрос: Если конкретный вопрос может быть неосуществимым, как я могу удалить нежелательный текст по оси Y в верхнем левом графике и нежелательный текст по оси X в нижнем правом графике?
Спасибо за обмен идеями!