ggplot2–legend图例的修改

ggplot2中的legend包括四个部分:legend.tittle, legend.text, legend.key,legend.backgroud。
legend

一、说明

针对每一部分有四种处理方式:

  1. element_text()绘制标签和标题,可控制字体的family, face, colour, size, hjust, vjust, angle, lineheight,当改变角度时,序将hjust调整至0或1.
  2. element_rect()绘制主要供背景使用的矩形,你可以控制颜色的填充(fill)和边界的colour, size, linetype
  3. element_blank()表示空主题,即对元素不分配相应的绘图空间。该函数可以山区我们不感兴趣的绘图元素。使用之前的colour=NA,fill=NA,让某些元素不可见,但仍然占绘图空间。
  4. element_get()可得到当前主题的设置。

theme()可在一幅图中对某些元素进行局部性修改,theme_update()可为后面图形的绘制进行全局性的修改。

二、详解

例子:

[/crayon]
作图

[/crayon]

1.不加Legend

2.删掉某个legend

方法一:

legend这个数据不要放在aes里面包裹

方法一:

方法三:
p + theme(legend.position=”none”)

2.删除legend.tittle

3.图例(legend)的位置

图例(legend)的位置和对齐使用的主题设置legend.position来控制,其值可为right,left,top,bottom,none(不加图例,或是一个表示位置的数值。这个数值型位置由legend.justfication给定的相对边角位置表示(取0和1之间的值),它是一个长度为2的数值型向量:右上角为c(1,1),左下角为c(0,0)
例如:

4.legend.tittle的修改
修改legend.title内容

修改legend.title

修改legend.text

改变Legend title的样式

5.修改尺寸大小

6.颜色的修改以及一致性:

[/crayon]

7.修改legend的text

三、常见问题

报错:could not find function “unit”
解决办法:library(grid)

参考资料:

图例变更参考资料:https://github.com/hadley/ggplot2/wiki/Legend-Attributes
http://stackoverflow.com/questions/11714951/remove-extra-legends-in-ggplot2
ggplot2:数据分析与图形艺术
《R Graphics Cookbook》

发表评论

电子邮件地址不会被公开。 必填项已用*标注