2010-02-12 12 views
3

J'utilise qplot pour tracer une fonction et je veux positionner la légende dans l'intrigue. J'ai utiliséExiste-t-il un moyen de supprimer la bordure de la légende dans ggplot2?

opts(legend.position = c(0.7,0.7)) 

pour déplacer la légende où je veux qu'elle soit.

Cependant, une bordure blanche entoure la légende et apparaît sur le fond gris.

Par exemple:

library(ggplot2) 
x = c(1:20) 
y = c(1:20) 

p <- qplot(x,y, color = "blue") 

p <- p + scale_colour_identity("Example", breaks=c("blue"), labels=c("dots")) 

p <- p + opts(legend.position = c(0.6, 0.4)) 

print(p) 

Je voudrais savoir comment supprimer cette frontière de la légende. Je vous remercie.

+0

Vous ne devez utiliser c() autour de valeurs multiples afin 01h20, « points » « bleu » et à ne pas besoin de l'utilisation de c() combiner la fonction. Pensé que je mentionnerais dans le cas où cela économise de la dactylographie ou aide autrement. – Jay

Répondre

5

Cela va se débarrasser de votre frontière:

p + opts(legend.background = theme_rect(col = 0)) 

d'autres options, en plus de coul (qui applique à la frontière) sont remplir (arrière-plan) et la taille (qui est la taille de la bordure).

Espérons que ça aide!

Tous les meilleurs,

Jay

+0

Merci Jay - qui a parfaitement fonctionné. Lorsque vous avez mentionné remplissage (arrière-plan) est-ce utilisé de la même façon? par exemple. opts (legend.fill = "blanc")? J'ai essayé des combinaisons de ceci sans succès. – djq

+0

p + opts (legend.background = theme_rect (col = "red", size = 2, fill = "blue")) – Jay

+0

Cela vous donnera une bordure rouge légèrement plus épaisse et un fond bleu. Est ce que ça aide? Faites-moi savoir si cela fonctionne – Jay