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

 

参考资料:

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

ggplot2:数据分析与图形艺术

转载至:http://blog.sina.com.cn/s/blog_670445240102v250.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用ggplot2的`labs`函数来修改图例的名称。例如: ``` ggplot(data, aes(x = x, y = y, color = group)) + geom_point() + labs(color = "图例的名称") ``` 你也可以使用`theme`函数来修改图例的样式,例如: ``` ggplot(data, aes(x = x, y = y, color = group)) + geom_point() + theme(legend.title = element_text(size = 12, face = "bold")) ``` 这里有更多关于使用`theme`函数修改图例样式的例子: ``` # 将图例移动到图像的右上角 ggplot(data, aes(x = x, y = y, color = group)) + geom_point() + theme(legend.position = "top") # 将图例背景设置为浅灰色 ggplot(data, aes(x = x, y = y, color = group)) + geom_point() + theme(legend.background = element_rect(fill = "lightgrey")) # 隐藏图例 ggplot(data, aes(x = x, y = y, color = group)) + geom_point() + theme(legend.position = "none") ``` ### 回答2: 在ggplot2中,可以使用theme函数来修改图例的名称。具体步骤如下: 首先,加载ggplot2包,并创建一个简单的散点图作为示例数据: ```R library(ggplot2) df <- data.frame(x = 1:5, y = 1:5, group = c('A', 'B', 'C', 'D', 'E')) p <- ggplot(df, aes(x = x, y = y, color = group)) + geom_point() ``` 然后,使用theme函数修改图例的名称。可以使用legend.title参数来指定图例的名称: ```R p + theme(legend.title = element_text(text = "新的图例名称")) ``` 运行上述代码后,图例的名称将被修改为"新的图例名称"。 除了修改图例的名称,还可以使用theme函数修改图例的其他属性,例如字体大小、颜色等。例如,可以使用legend.title参数设置图例名称的字体大小: ```R p + theme(legend.title = element_text(size = 12)) ``` 上述代码将图例名称的字体大小设置为12号字体。 总之,通过使用theme函数的legend.title参数,可以轻松地修改ggplot2图例的名称,并可以进一步修改图例的其他属性。 ### 回答3: 在ggplot2中,可以使用theme()函数来修改图例的名称。首先,我们需要创建一个gplot2对象,并指定数据和图形元素。然后,使用theme()函数来添加图例修改语句。 例如,假设我们有一个数据集df,包含三个变量x、y和group,并且我们想创建一个散点图来显示x和y的关系,并以group变量作为颜色分组。默认情况下,图例的名称为"Group",但我们希望将其修改为"类别"。 首先,我们需要加载ggplot2包,并创建一个gplot2对象: library(ggplot2) p <- ggplot(data = df, aes(x = x, y = y, color = group)) 然后,使用theme()函数来修改图例的名称: p <- p + theme(legend.title = element_text(text = "类别")) 最后,使用print()函数来打印出我们修改后的图例: print(p) 这样,我们就成功地使用theme()函数将图例的名称从"Group"修改为"类别"。注意,theme()函数中可以使用其他参数来修改图例的样式,如字体大小、颜色等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值