ggplot2设置坐标轴范围_ggplot2画图时出现重合的点以及标签如何处理?有现成的包ggrepel

公众号:生物信息学习

ggplot2画图时出现重合的点以及标签如何处理?有现成的包ggrepel​mp.weixin.qq.com
a725a69fd9ad495fca55c5aa155d1ca5.png

在R中散点图的时候会经常出现,点重合,点的标签重合比较严重的现象,这对我们观察数据有很大的干扰。

用ggrepel包可以很好的解决这个问题。

当我们创建一个数据框

a<-data.frame(num=c(1,2,3,1,4),n=2,name=c("a","b","c","d","e"))

给出的结果如下:

num n name
1   1 2    a
2   2 2    b
3   3 2    c
4   1 2    d
5   4 2    e
library(ggplot2)
ggplot(a)+geom_point(aes(n,num),color="red")+geom_text(aes(n,num,label=name))

027da9dd9f20d102093de5bfb1685508.png

便签展示如上图所示,a和d重合,那如何把这两个标签分开展示呢,ggrepel就派上用场了。

基本款:

library(ggrepel)
ggplot(a)+geom_point(aes(n,num),color="red")+geom_text_repel(aes(n,num,label=name))

f8c36e60524c81065dc084c030c22184.png

其中a和d分开展示。当然图形也有很多可以修改的地方:

ggplot(a)+geom_point(aes(n,num),color="red")+geom_label_repel(aes(n,num,label=name))

展示的图形就如下所示:

c6927adff5cb3284c105b8131f38e011.png

如果还不喜欢,可以再根据自己的需求去改。

大部分geom_text()的参数都适用于geom_text_repel(),除了以下几个:

  • hjust
  • vjust
  • position
  • check_overlap

ggrepel包为geom_text_repel()geom_label_repel()提供了特有的参数设置:

  • segment.color:连接点与标签的线段的颜色
  • segment.size:线段的粗细
  • segment.alpha:线段的透明度
  • box.padding:文本框周边填充
  • point.padding:点周围填充
  • arrow:grid:arrow提供的箭头
  • force:强制性将重叠文本散开
  • max.oter:最大迭代次数
  • nudge_x/y:标签开始位置在坐标轴的移动距离
  • direction:允许标签的方向,x、y or both
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值