8

您知道如何更改ggpairs( Ggallypackage) 中上面板中的标签吗?我找到了如何更改大小、字体而不是标签。在这里,我想缩短标签(“set”pour setosa 等......)。我试图把它放进去,labels=c("set", "ver", "vir")upper=list(params=list(size=8),labels=c("set", "ver", "vir"))它不起作用。

ggpairs(iris, columns=c(2:4), title="variable analysis", colour="Species",
        lower=list(params=list(size=2)), upper=list(params=list(size=8))) 

虹膜数据 GGPAIRS

4

2 回答 2

3

这有点难看,但你可以这样做(重命名图中的级别):

library(GGally)
gplt <- ggpairs(iris, columns=c(2:4), 
        title="variable analysis", 
        colour="Species", 
        lower=list(params=list(size=2)), 
        upper=list(params=list(size=6)))

levels(gplt$data$Species)[levels(gplt$data$Species)=="versicolor"] <- "ver"
levels(gplt$data$Species)[levels(gplt$data$Species)=="virginica"] <- "vir"
levels(gplt$data$Species)[levels(gplt$data$Species)=="setosa"] <- "set"

print(gplt)

在此处输入图像描述

于 2015-07-02T21:18:05.573 回答
3

在概念上与@Mike 的解决方案相同,但在一行中。

levels(iris$Species) <- c("set", "ver", "vir")
ggplairs(<...>)

如果您有许多级别并且不想手动缩写它们,这是另一个更灵活的建议:将级别修剪到所需的长度。

levels(iris$Species) <- strtrim(levels(iris$Species), 3)
ggplairs(<...>)

顺便说一下,width参数也是向量化的:

rm(iris)
strtrim(levels(iris$Species), c(1, 3, 5))
#[1] "s"     "ver"   "virgi"
于 2015-07-03T08:12:45.293 回答