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

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

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

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

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

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

底图展示如下:

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

图1

1.删除图例

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

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

图片修改如下:

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

图2

2.修改图例的位置

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

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

修改后图片如下:

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

图3

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

图4

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

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

修改后的图形如下:

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

图5

3.修改图例的顺序

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

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

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

结果如下所示:

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

图6

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

4.修改图例的标题

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

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

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

修改后图形如下:

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

图7

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

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

修改后的图形:

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

图8

5.修改图例标签文本

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

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

最后呈现的结果如下:

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

图9

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

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

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

你可能感兴趣的:(R语言ggplot2移除图例)