2015-07-02 13 views
8

ggpairs (Ggally paketinde) üst paneldeki etiketleri nasıl değiştireceğinizi biliyor musunuz? Boyutu, yazı tipini değiştirmeyi ancak etiketlemeyi nasıl buldum. Burada etiketi kısaltmak istiyorum ("set" dökmek setosa vb ...). Bunu labels=c("set", "ver", "vir") veya upper=list(params=list(size=8),labels=c("set", "ver", "vir")) içine koymaya çalıştım ama işe yaramıyor.Ggpairs üst panelindeki etiketi değiştirme

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

+1

sizin kodu değil, çünkü bunu test edemez [tekrarlanabilir] (http://stackoverflow.com/questions/5963269/nasıl yapılır-nasıl-yeniden-tekrarlanabilir-örnek), ancak daha küçük etiketler için 'theme (text = element_text (size = 8)) 'yi deneyebilirsiniz. – RHA

+0

Teşekkürler, sadece iris veri kümesi ile yeniden üretilebilir bir örnek koyuyorum. Ama istediğim, boyutlarını değil, etiketleri ("ver" in versicolor) değiştirmektir. – catindri

+0

Ayrıca, bilgisayar değişikliği kaydedilen görüntüde aynı sonucu vermez! Burada doğru olabilir, ancak dizüstü bilgisayarımda etiketler gizlendi. – catindri

cevap

3

aynı Mike @ gibi Çözüm, ancak bir satırda. istenilen uzunluğa donanım seviyesi:

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

Burada çok sayıda düzeyleri ve onları eliyle kısaltmak için istemiyorsanız başka, daha esnek bir teklif.

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

Ve bu arada

, width parametresi de vectorized edilir:

rm(iris) 
strtrim(levels(iris$Species), c(1, 3, 5)) 
#[1] "s"  "ver" "virgi" 
+0

çalışır, teşekkürler çok teşekkürler! – catindri

+0

Jeez, bütün noktayı komployu oluşturan verileri değiştirmeden yaptığını sanmıştım. –

+0

@MikeWise Aynı şey, "level (gplt $ data $ Species)" için de geçerlidir. Mesele şu ki, seviyelerin üzerinde yineleme yapmaya gerek yoktur (100 faktör seviyesinin olduğunu hayal edin). – tonytonov

3

Biraz çirkin, ama bu (arsa içinde seviyelerini yeniden adlandırmak) yapabilirdi: Kavramsal olarak

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

+0

bu da çalışır – catindri