加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【T】ggplot2--legend图例的修改

(2014-09-22 09:52:25)
标签:

ggplot2

legend

分类: R

该博客已整理到新地址:http://qinqianshan.com/ggplot2-legend图例的修改/

> head(msleep)

                        name      genus  vore        order conservation sleep_total sleep_rem sleep_cycle awake brainwt  bodywt

                   Cheetah   Acinonyx carni    Carnivora           lc        12.1        NA          NA  11.9      NA  50.000

                Owl monkey      Aotus  omni     Primates                 17.0       1.8          NA   7.0 0.01550   0.480

           Mountain beaver Aplodontia herbi     Rodentia           nt        14.4       2.4          NA   9.6      NA   1.350

4 Greater short-tailed shrew    Blarina  omni Soricomorpha           lc        14.9       2.3   0.1333333   9.1 0.00029   0.019

                       Cow        Bos herbi Artiodactyla domesticated         4.0       0.7   0.6666667  20.0 0.42300 600.000

6                    Three-toed sloth   Bradypus herbi       Pilosa                 14.4       2.2   0.7666667   9.6      NA   3.850

 

p<-ggplot(data = msleep, aes(x=sleep_total,y= sleep_cycle,colour = vore))+geom_point();

 【T】ggplot2--legend图例的修改

   如上图所示,ggplot2中的legend包括四个部分:legend.tittle, legend.text, legend.key, legend.backgroud。针对每一部分有四种处理方式:

element_text()绘制标签和标题,可控制字体的family, face, colour, size, hjust, vjust, angle, lineheight,当改变角度时,序将hjust调整至01.

element_rect()绘制主要供背景使用的矩形,你可以控制颜色的填充(fill)和边界的colour, size, linetype

element_blank()表示空主题,即对元素不分配相应的绘图空间。该函数可以山区我们不感兴趣的绘图元素。使用之前的colour=NAfill=NA,让某些元素不可见,但仍然占绘图空间。

element_get()可得到当前主题的设置。

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

 

 不加Legend

p+theme(legend.position='none');


删除legend.tittle

p+theme(legend.title=element_blank())

 

图例(legend)的位置

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

例如:p+theme(legend.position=”left”)

 

修改legend.tittle内容

p+scale_colour_hue("what does it eat?",breaks=c("herbi","carni","omni",NA),labels=c("plants","meat","both","don't know"));

 

修改尺寸大小

p+theme(legend.background=element_rect(colour="purple",fill="pink",size=3,linetype="dashed"));

p+theme(legend.key.size=unit(2,'cm'));

p+theme(legend.key.width=unit(5,'cm'));

p+theme(legend.text = element_text(colour = 'red', angle = 45, size = 10, hjust = 3, vjust = 3, face = 'bold'))

报错:could not find function "unit"

 解决办法:library(grid)


颜色的修改以及一致性:

library(RColorBrewer);

newpalette<-colorRampPalette(brewer.pal(12,"Set3"))(length(unique(eee$name)));

p+scale_fill_manual(values=newpalette);


p+geom_bar(position="stack",aes(order=desc(name)))

 

参考资料:

图例变更参考资料:https://github.com/hadley/ggplot2/wiki/Legend-Attributes

ggplot2:数据分析与图形艺术

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有