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();

 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)))

 

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值