ggplot'ta gösterge başlığını kaldır


111

Bir efsanenin başlığını kaldırmaya çalışıyorum ggplot2:

df <- data.frame(
  g = rep(letters[1:2], 5),
  x = rnorm(10),
  y = rnorm(10)
)

library(ggplot2)
ggplot(df, aes(x, y, colour=g)) +
  geom_line(stat="identity") + 
  theme(legend.position="bottom")

görüntü açıklamasını buraya girin

Bu soruyu gördüm ve oradaki çözümlerin hiçbiri benim için işe yaramıyor gibi görünüyor. Çoğu, nasıl optskullanımdan kaldırıldığı ve themebunun yerine kullanılacağı konusunda bir hata verir . Ben de çeşitli versiyonlarını denedim theme(legend.title=NULL), theme(legend.title=""), theme(legend.title=element_blank)vb Tipik hata iletileri şunlardır:

'opts' is deprecated. Use 'theme' instead. (Deprecated; last used in version 0.9.1)
'theme_blank' is deprecated. Use 'element_blank' instead. (Deprecated; last used in version 0.9.1)

ggplot20.9.3 sürümünün yayınlanmasından bu yana ilk defa kullanıyorum ve bazı değişikliklerde gezinmekte zorlanıyorum ...


5
Bunun için kullanabilirsiniz labs(): labs(colour = "")Yukarıdaki grafiği oluşturan kodunuza satırı ekleyin .
Dennis

Yanıtlar:


191

Neredeyse oradaydın: sadece ekle theme(legend.title=element_blank())

ggplot(df, aes(x, y, colour=g)) +
  geom_line(stat="identity") + 
  theme(legend.position="bottom") +
  theme(legend.title=element_blank())

Cookbook for R'deki bu sayfa, efsanelerin nasıl özelleştirileceğine dair birçok ayrıntı verir.


2
Bu, tüm efsane başlıklarını kaldıracaktır. Daha fazla yerel kontrol için guide = guide_legend()komut çalışır. Dolgu göstergesi başlığını kaldırmak, ancak renk göstergesi başlığını korumak için, örneğinscale_fill_brewer(palette = "Dark2", guide = guide_legend(title = NULL)) + scale_color_manual(values = c("blue", "white", "red"))
PatrickT

9

Bu da işe yarar ve ayrıca efsane başlığının nasıl değiştirileceğini gösterir:

ggplot(df, aes(x, y, colour=g)) +
  geom_line(stat="identity") + 
  theme(legend.position="bottom") +
  scale_color_discrete(name="")

7
Bu, başlığı boş bir dizeyle değiştirir ve bu nedenle etiket ile açıklama kutusu arasında fazladan boşluğa neden olur; bu, yalnızca açıklamanın konumlandırıldığı yerden farklı bir renkte bir kutu veya arka plana sahip olması durumunda görülebilir. Bu nedenle theme_bw(), efsanenin etrafında bir kutu olduğu ve olay örgüsü alanında bir yere konumlandırıldığı durumlarda (benim her zamanki yaklaşımım) gibi basit durumlarda hızlı ve hazır bir yaklaşım için sorun yok.
PatrickT

1
Gözlem için +1. Problemi iki farklı efsaneyi ve aralarındaki boşlukları yukarıdaki çözümün oluşturduğu kullanarak yaşadım. scale_color_manual(name=element_blank())+Alt efsane için ayar benim için çözdü
joaoal

@joaoal, element_blank()önerilen yaklaşım gibi görünüyor. Ayar name = NULL başka bir yoldur.
PatrickT

1

labsRengi kullanma ve ayarlama başka bir seçenek NULL.

ggplot(df, aes(x, y, colour = g)) +
  geom_line(stat = "identity") +
  theme(legend.position = "bottom") +
  labs(colour = NULL)

görüntü açıklamasını buraya girin


0

İçin Error: 'opts' is deprecated. theme()Bunun yerine kullanın . (Geçersiz; en son sürüm 0.9.1'de kullanıldı) ' opts(title = "Boxplot - Candidate's Tweet Scores")ile değiştirdim labs(title = "Boxplot - Candidate's Tweet Scores"). İşe yaradı!


0

Eğer bir arsa birden fazla efsaneleri olabileceğinden, seçici bir yolu boş bir alan bırakmadan başlıkların sadece birini kaldırmak ayarlamaktır nameait argümanı scale_işlevin NULL, yani

scale_fill_discrete(name = NULL)

( başka bir ileti dizisindeki yorum için @pascal'a tebrikler )

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.