Bir efsanenin başlığını ggplot2'de nasıl değiştirebilirim? [kapalı]


58

2 x 4 x 3 hücreli veri setinden gelen verileri özetlemek için ggplot2'de yapıyorum. 2-seviyeli değişken için paneller kullanarak facet_grid(. ~ Age)ve x ve y eksenlerini kullanarak paneller yaptım aes(x=4leveledVariable, y=DV). Ben aes(group=3leveledvariable, lty=3leveledvariable)şimdiye kadar arsa üretirdim. Bu bana, 2 seviyeli değişken tarafından panellenen ve X seviyeli 4 seviyeli değişkeni temsil eden X ekseni ve 3 seviyeli değişken için panellerin içine çizilen farklı çizgileri gösteren bir görselleştirme sağlar. Ancak 3 seviyeli değişkenin anahtarı 3 seviyeli değişkenin adıyla başlıklı ve ben bunun içinde bir karakter boşluğu olan bir başlık olmasını istiyorum. Efsanenin başlığını nasıl yeniden adlandırabilirim?

Denedim şeyler işe görünmüyor (nerede abpbenim ggplot2 nesnesi):

 abp <- abp + opts(legend.title="Town Name")
 abp <- abp + scale_fill_continuous("Town Name")
 abp <- abp + opts(group="Town Name")
 abp <- abp + opts(legend.title="Town Name")

Örnek veri:

ex.data <- data.frame(DV=rnorm(2*4*3), V2=rep(1:2,each=4*3), V4=rep(1:4,each=3), V3=1:3)

2
@drknexus - Verilerinizi paylaşabiliyorsanız, bu yararlı olabilir veya R içindeki verilerinizle aynı şekle sahip benzer bir veri kümesine işaret edin.
Chase,

1
Buradaki herkes çok bilgili görünüyor ama ggplot ile ilgili sorular için biliyorum ki google gruplarını inanılmaz yardımcı buluyorum. groups.google.com.tr/group/ggplot2
Dason

Hadley sayfasındaki iyi bilinen ve mükemmel dokümantasyonun yanı sıra, Git Hub hakkında pek de bilinmeyen referans bu tür sorunlara gerçekten yardımcı oluyor.
hans0l0

Alternatif olarak, theme_get()konsolda aynı referansı sağlar.
Brandon Bertelsen

1
SO göçünü isteyen birkaç bayrak yanıt olarak, aslında imkansızdır; neden SO.meta'da görün: meta.stackexchange.com/q/8004/150510 , meta.stackexchange.com/q/151890/150510 .
chl

Yanıtlar:


25

Başka bir seçenek kullanmaktır

p + labs(aesthetic='custom text')     

Örneğin, Chase'in örneği şöyle görünür:

library(ggplot2)

ex.data <- data.frame(DV=rnorm(2*4*3),V2=rep(1:2,each=4*3),V4=rep(1:4,each=3),V3=1:3)
p <- qplot(V4, DV, data=ex.data, geom="line", group=V3, linetype=factor(V3)) + facet_grid(. ~ V2)
p + labs(linetype='custom title')

ve rakamı verin: görüntü tanımını buraya girin


Bugünlerde etiketleri (ölçek / eksen bazında ölçek / eksen üzerinde belirtmek yerine) değiştirmek için labs () kullanmayı tercih ediyorum.
russellpierce

38

Göstergenin başlığını, bu göstergenin ölçeğini değiştirerek değiştirebilirsiniz. İşte CO2 veri setini kullanan bir örnek

library(ggplot2)

p <- qplot(conc, uptake, data = CO2, colour = Type) + scale_colour_discrete(name = "Fancy Title")
p <- p + facet_grid(. ~ Treatment)
p 

DÜZENLE:

Yukarıdaki örnek verileri kullanarak, işte çalışan bir çözüm var. Bunun, @ drknexus'un yaratmaya çalıştığı komployu taklit ettiğini düşünüyorum. Bir not olarak, herhangi biri neden V3'ü efsaneye eşlenebilmesi için bir faktör olarak ele almamız gerektiğini açıklayabilirse, minnettar olurum.

p <- qplot(V4, DV, data = ex.data, geom = "line", group = V3, lty = factor(V3)) 
p <- p + scale_linetype_discrete(name = "Fancy Title") + facet_grid(. ~ V2)
p 

alt metin


Kaybettiğim şey, ggplot'taki "grup" veya "lty" spesifikasyonuna bağlanan scale_color_discrete gibi bir işlev olduğunu düşünüyorum (data = ex.daata, aes (x = V4, y = DV, grup = V3, lty = V3) ))
russellpierce

1
Ah buldum: scale_linetype_discrete (name = "bob")
russellpierce

@Chase: scale_linetype_discrete bit ile düzenleyin ve cevabınızı kabul edeceğim.
russellpierce

1
@drknexus - benim mesele benim örneğimde, uygun komut scale_colour_discrete()ve üzerinde çalıştığınız kod açıkça biraz farklı. Bu kodun ne olduğunu bilmiyorum ...
Chase

3
@Chase Re: "neden V3'ü bir faktör olarak ele almak zorundayız" scale_linetype_discreteayrık değerlere sahip bir değişken bekler (faktör veya karakter, den plyr::is.discrete), Github'daki src kodunu kontrol edin, j.mp/ejaRRT . Güzel tepki (+1).
chl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.