ggplot2--Legend(图例操作)

Base Plot

xy <- data.frame(x=1:10, y=10:1, type = rep(LETTERS[1:2], each=5))
p=ggplot(data=xy)+geom_point(aes(x=x,y=y,color=type))
p
ggplot2--Legend(图例操作)_第1张图片

legend.background (rect)

# color does not work, use colour instead
p+opts(legend.background=theme_rect(colour="purple",fill="pink",size=3,linetype="dashed"))
ggplot2--Legend(图例操作)_第2张图片

legend.key (rect)

p+opts(legend.key=theme_rect(colour='purple',fill='pink',size=0.5,linetype='dashed'))
ggplot2--Legend(图例操作)_第3张图片

legend.key.size (unit)

# to use unit, you need to load package grid, i.e. library(grid)
p+opts(legend.key.size=unit(2,'cm'))
ggplot2--Legend(图例操作)_第4张图片

legend.key.width (unit)

p+opts(legend.key.width=unit(5,'cm'))
ggplot2--Legend(图例操作)_第5张图片

legend.text (text)

p+opts(legend.text = theme_text(colour = 'red', angle = 45, size = 10, hjust = 3, vjust = 3, face = 'bold'))
ggplot2--Legend(图例操作)_第6张图片

change legend labels

# breaks=c('A','B'), 'A' and 'B' are the default legend in xy
p+scale_colour_hue(name="my legend", breaks=c('A','B'), labels=c('AAA','BBB'))
ggplot2--Legend(图例操作)_第7张图片

legend.title (text)

p+opts(legend.title = theme_text(colour = 'red', angle = 45, size = 10, hjust = 3, vjust = 7, face = 'italic'))
ggplot2--Legend(图例操作)_第8张图片

legend.position (?)

# get rid of legend
p+opts(legend.position='none')
# move legend to the left
p+opts(legend.position='left')
define relative coordinates on plot c(x, y) between 0 and 1
p+opts(legend.position=c(0.5,0.5))
ggplot2--Legend(图例操作)_第9张图片 ggplot2--Legend(图例操作)_第10张图片 ggplot2--Legend(图例操作)_第11张图片

legend.justification (?)

Justification defines which side of the legend that the legend.position coordinates refer to
  p+ opts(legend.justification = 'right', legend.position=c(0.25,0.3))
can use left, right, centre or numeric value (0 ≤ x ≤ 1)
ggplot2--Legend(图例操作)_第12张图片


Reference
1.  https://github.com/hadley/ggplot2/wiki/Legend-Attributes

你可能感兴趣的:(R,language,R语言,ggplot2)