美文网首页R
ggplot2-图例篇

ggplot2-图例篇

作者: DumplingLucky | 来源:发表于2021-04-05 09:21 被阅读0次

ggplot2中图例基础:

ggplot2会自动生成图例,我们可以对图例进行删改。

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8)

p

原始图像

1. 隐藏图例

方法一:用 guides(fill=FALSE) 隐藏由fill产生的图例,同理可以隐藏由color、shape产生的图例。

方法二:增加图层的时候把参数 show_guide 设为 FALSE,隐藏某图层的图例。

方法三:作用和方法一类似,设置 scale_fill_discrete(guide = FALSE),可以把中间的 fill 改成 color 或者 shape,从而隐藏相应的图例。

方法三:用 theme(legend.position = “none”) 来隐藏全局图例。

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8, show_guide = FALSE)  ##隐藏此图层产生的图例

#  + guides(fill=FALSE)  ##隐藏由fill产生的图例

#  + scale_fill_discrete(guide = FALSE)  ##隐藏由fill产生的图例

#  + theme(legend.position = "none")  ##隐藏所有图例

p

2. 隐藏图例标题

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8)

p + guides(color=guide_legend(title=NULL))  ##对color产生的图例去掉标题

# p + theme(legend.title=element_blank())  ##把所有图例的标题去掉

3.更改图例顺序

用 scale_color_discrete,通过 breaks 参数设置图例的顺序(注意也可以把color改成fill或者shape):

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8) +

  scale_color_discrete(breaks = c('B','C','A','D'))

p

直接将图例逆序:

p + guides(color = guide_legend(reverse=TRUE))

或者:p + scale_color_discrete(guide = guide_legend(reverse=TRUE))

或者:p + scale_color_discrete(breaks = rev(levels(dt$C)))

4. 更改图例的标签文字

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8) +

  scale_colour_discrete(breaks = c('A','B','C','D'), labels = c('W','X','Y','Z'))

p

5. 设置图例标题和标签文字的大小、颜色

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8) +

  theme(legend.title = element_text(color="134", size=16, face="bold")) +  ##设置标题,face="bold"加粗

  theme(legend.text = element_text(color="azure4", size = 14, face = "bold"))  ##设置标签文字

p

6. 更改图例的位置

library(ggplot2)

dt = data.frame(A = 1:10, B = c(2,21,6,18,9,25,13,15,10,3), C = c('A','C','A','B','C','D','A','C','D','B'))

p = ggplot(dt, aes(x = A, y = B, group = factor(1))) +

  geom_point(aes(color = C, shape = C), size = 3.8) +

  geom_line(aes(color = C), size = 0.8) +

  theme(legend.position = 'top')  ##同理可以取 bottom、right、left

p

不显示图例,theme(legend.position = “none”)

第一种方法属于theme主题系统,元素名legend.position,引号内可选参数有right、left、bottom,对应右、下、左

第二种方法,元素legend.position和legend.justification同时出现并且值相同,想象图例在坐标轴里,则c(0, 1)为面板左上角,c(1, 0)为面板右下角,c(0.5, 0,5)为面板中间;面板指绘图区域。


参考:https://blog.csdn.net/Bone_ACE/article/details/47284805

相关文章

  • ggplot2-图例篇

    ggplot2中图例基础: ggplot2会自动生成图例,我们可以对图例进行删改。 library(ggplot2...

  • 中国政区图

    图例 图例 图例

  • 08图例

    这节讲述了图例的各种设置 图例样式 图例容器样式 图例容器是指整个图例容器的样式 图例项样式 图例里面的内容是通过...

  • css样式--设置左侧图标,例如:三角形、圆形

    图例: 上代码: 图例2:

  • ggplot2-坐标系篇

    library(ggplot2)dt = data.frame(A = 1:10, B = c(2,15,6,18...

  • complexheatmap学习笔记4——图例

    连续性变量图例 分类变量图例 添加自定义的图例 图例的位置 本文是对于ComplexHeatmap作者说明的学习笔...

  • Echart - legend 图例组件

    legend.type图例的类型。可选值:'plain':普通图例。缺省就是普通图例。'scroll':可滚动翻页...

  • legend

    图例 type: 'plain' / 'scroll' //默认图例 orient:'hor...

  • ggplot2图例系统

    连续型图例的修改 对于图例的修改是先试用guides函数。然后制定修改那个图例。再制定图例是离散型还是连续性 比如...

  • Echarts设置图例不可点击事件

    legend.selectedMode 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。默认开启图例选...

网友评论

    本文标题:ggplot2-图例篇

    本文链接:https://www.haomeiwen.com/subject/lgarkltx.html