在ggpairs上面板中更改标签

时间:2015-07-02 06:38:35

标签: r ggplot2 labels ggally

您知道如何更改ggpairsGgally包裹)上方面板中的标签吗?我发现如何更改大小,字体而不是标签。在这里,我想缩短标签(“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))) 

iris DATA GGPAIRS

2 个答案:

答案 0 :(得分: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)

enter image description here

答案 1 :(得分: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"