R语言ggplot2移除图例_R语言可视化有关于图例那些事儿~

本文介绍了使用R语言中的ggplot2包进行图形图例的调整方法,包括删除图例、修改图例位置、调整图例顺序、更改图例标题及标签等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9a169e50a0ea7e168b92ac80f6a101b3.png

小伙伴们大家好,又到了积极教大家学习R语言可视化的时间了。所有的数据在最后呈现的时候都将以图象的形式直观的向大家展示,因此可视化可以说是科学数据处理的最后一步,所谓“编筐编篓,全在收口”,因此这最后一步是十分重要的!

在之前的推送中,积极给大家带来了关于图形注释、坐标轴变换、误差线添加等内容,这次将为大家带来有关于图形中图例变换的内容~下面打起精神和积极一起来学习吧,大约需要五分钟哦~

首先,我们还是利用R语言中的基础数据做出用来后面修饰一幅底图,作图代码如下:

library(ggplot2)#引入作图包pggplot(PlantGrowth,aes(x=group,y=weight,fill=group))+geom_boxplot()p

底图展示如下:

75ee13d8b6942923f7cf5725294d0c18.png

图1

1.删除图例

我们并不是所有的时候都需要图例的存在(比如多幅图片共有一个图例,不需要每幅图片上面都带有一份图例),但是在使用ggplot2作图的时候会默认地带上图例,这时候我们就需要一些操作去移除图例,使用的函数是ggplot包中的guides(),用法也是十分的简单,我们来演示一下:

p+guides(fill=F)#默认使用的参数是T,即表示带有图例,我们给修改为F,就可以移除图例了

图片修改如下:

2c49f646ea31ecfb0dbfa8708870ccfe.png

图2

2.修改图例的位置

从底图中可以看出,图例的位置是位于图片的右侧居中的,有的时候我们需要根据图片整体的布局来修改图例的位置,这时候我们就需要修改ggplot2包中的主题函数theme()中的一个参数来改变图例的位置,代码演示如下:

p+theme(legend.position = "top")#top表示图例位于图片顶部p+theme(legend.position = c(0.8,0.2))#也可以使用坐标的形式来改变图例的位置。坐标轴空间左下角为原点(0,0),右上角为(1,1)

修改后图片如下:

a79cd6fa95039184e6a804b633a3d7e8.png

图3

ae8560c057a6e67b8855d7c8d1fb1e08.png

图4

在图4中,虽然图例在图形的内部,但是图例白色的背景显得十分突兀,如何解决这个问题呢?我们还是可以使用theme()函数。代码如下:

p+theme(legend.position = c(0.8,0.2))+theme(legend.background = element_blank())#修改该参数既可以改变图例的背景为空白

修改后的图形如下:

976930e8b34300a3cb71533c864d87d4.png

图5

3.修改图例的顺序

默认的作图函数会给图例自动的进行排序,但这个顺序不一定是我们想要的顺序,我们如何改变呢?

这时候就要用到ggplot2中的scalefilldiscrete()函数,使用代码如下:

p+scale_fill_discrete(limits=c("trt1","trt2","ctrl"))#在函数中的limits参数中输入你想要的图例顺序

结果如下所示:

a4e6bc6492c038ecdb84da9a9f967ca9.png

图6

在之前坐标轴修改的推送中我们提到过,修改x轴上项目的顺序使用的函数是scalexdiscrete(),看看这两个函数是不是很相像呢~慢慢地熟练以后,你就会发现其中的规律。

4.修改图例的标题

在底图中,图例的标题是“group”,如果我们想要修改这个标题要如何操作呢?

我们有两种方法,代码示例如下:

p+scale_fill_discrete(name="CNS")p+labs(fill="CNS")#上述两个函数的结果是一致的,使用其中一个就可以,使用第一个函数可以和上述修改图例顺序的参数合并到一起,即一个函数内修改多个参数

修改后图形如下:

4d72d3800f7ba5d838b7154c06005f77.png

图7

上面我们讲到了如何修改图例的标题,那如果我们是想移除图例的标题呢?我们可以使用guides()这个函数。

p+guides(fill=guide_legend(title=NULL))

修改后的图形:

9bb9e70b2e46f03bc94369feb72100a6.png

图8

5.修改图例标签文本

在第4小部分我们学习了改变图例的标题文本,那么如何修改标签的文本呢?我们使用的还是scalefilldiscrete()函数,使用代码示例如下:

p+scale_fill_discrete(labels=c("A","B","C"))#修改的labels参数

最后呈现的结果如下:

a78d1dd304f2cd5379d54cdc0638cb1a.png

图9

本次关于可视化图形图例的教程就讲到这里,大家有什么问题和建议欢迎留言区我们一起讨论~

希望这些知识能对你的科研学习有所帮助~

9a169e50a0ea7e168b92ac80f6a101b3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值