文章目录

  • 散点图添加文字标记作用
  • geom_text()
  • 优化散点图文字标记

散点图添加文字标记作用

散点图通常用于两个或两个以上数值变量之间关系可视化。将x变量与y变量各值在直角坐标系上以点的形式展示两个变量之间大致关系。

这里通过一张图来展示散点图添加文字标记的作用。

#删除mtcars15和17行生成模拟数据
data <- mtcars[-c(15,17),]
head(data)mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
#载入包
library(ggplot2)
#生成散点图
ggplot(data) +geom_point(aes(wt, mpg), color = 'red') +theme_classic(base_size = 16)

可以看到右下角这个值离其他点比较远,这时候如果我们知道这个点是哪一行的话,可以通过删除这个离群点,来减少其对线性回归拟合结果的影响。

这里仅仅做一个作用说明,如果有适用数据。有兴趣的读者可以尝试删除散点图中的偏离点做线性回归与未删除偏离点数据做一个比较。

geom_text()

ggplot2中geom_text()函数可以给散点图添加文字标记,点名称通过label参数赋值

ggplot(data) +geom_point(aes(wt, mpg), color = 'red') +geom_text(aes(wt, mpg, label = rownames(data))) +theme_classic(base_size = 16)

这时候可以清楚的知道这个离群点的行名为Lincoln Contir,这是可以尝试排除这一行来做线性回归拟合。

优化散点图文字标记

前面图形中虽然清楚的显示离群点的行名,但可以看见图中由许多文字重叠在一起,并不美观。

这里使用ggrepel包中的geom_text_repel函数,只需要将geom_text换成geom_text_repel即可。

#install.packages("ggrepel")
library(ggrepel)
ggplot(data) +geom_point(aes(wt, mpg), color = 'red') +geom_text_repel(aes(wt, mpg, label = rownames(data))) +theme_classic(base_size = 16)

可以看见散点图中文字标记显示非常清楚,重叠情况被大幅度减轻。


ggplot2添加散点图文字标记相关推荐

  1. R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_circle函数在数据簇或数据分组的数据点周围添加圆圈进行注释(自定义圆圈的大小)

    R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_circle函数在数据簇或数据分组的数据点周围添加圆圈进行注释(自定义圆圈的大小) 目录

  2. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  3. R语言ggplot2可视化散点图(scatter plot)、并在可视化图像的顶部和右边添加边缘直方图(Marginal Histogram)、使用geom_smooth函数基于lm方法拟合数据点之间

    R语言ggplot2可视化散点图(scatter plot).并在可视化图像的顶部和右边添加边缘直方图(Marginal Histogram).使用geom_smooth函数基于lm方法拟合数据点之间 ...

  4. R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_ellipse函数在数据簇或数据分组的数据点周围添加椭圆(ellipse)进行注释(对椭圆包围的区域进行着色为阴影区域)

    R语言ggplot2可视化:ggplot2可视化散点图并使用geom_mark_ellipse函数在数据簇或数据分组的数据点周围添加椭圆(ellipse)进行注释(对椭圆包围的区域进行着色为阴影区域) ...

  5. R语言ggplot2可视化散点图并添加平滑曲线、WVPlots包BinaryYScatterPlot函数可视化一起中一个变量为二元离散变量的散点图(随着年龄变化是否有健康保险的客户的比例)

    R语言ggplot2可视化散点图并添加平滑曲线.WVPlots包BinaryYScatterPlot函数可视化一起中一个变量为二元离散变量的散点图(随着年龄变化是否有健康保险的客户的比例) 目录

  6. R语言ggplot2可视化散点图实战:绘制基础散点图、为所有散点添加标签、只为大于阈值的散点添加标签

    R语言ggplot2可视化散点图实战:绘制基础散点图.为所有散点添加标签.只为大于阈值的散点添加标签 目录

  7. python绘制散点图的步骤_python绘制散点图并标记序号的方法

    python绘制散点图并标记序号的方法 实现二维平面上散点的绘制,并可以给每个散点标记序号或者名称: import numpy as np import matplotlib.pyplot as pl ...

  8. R语言ggplot2可视化散点图、移除可视化图像中的网格线(remove gridlines)

    R语言ggplot2可视化散点图.移除可视化图像中的网格线(remove gridlines) 目录 R语言ggplot2可视化散点图.移除可视化图像中的网格线(remove gridlines)

  9. R语言ggplot2可视化散点图、移除可视化图像中的多余的图例信息、使用scale_size函数移除数据点大小的图例(legend)

    R语言ggplot2可视化散点图.移除可视化图像中的多余的图例信息.使用scale_size函数移除数据点大小的图例(legend) 目录

最新文章

  1. MySQL的SQL语句如何优化?
  2. redis延迟消息队列不准时php,Redis实现延迟消息队列
  3. (仿头条APP项目)4.父类BaseFragment创建,用retrofit和gson获取并解析服务器端数据
  4. 4月27日云栖精选夜读丨阿里CMO董本洪:你要运营流量,更要运营超级用户
  5. OpenLayers 官网例子的中文详解
  6. flutter怎么添加ios网络权限_视频号直播间怎么添加购物车商品;超详细流程步骤。丨国仁网络资讯...
  7. python项目如何上线_django项目部署上线(示例代码)
  8. Oracle常用命令大全
  9. gitlab客户端下载配置
  10. windows终止处理程序( __try __finally) 简单解析
  11. 数据字典怎么写_做数据分析,我只会同环比,谁能教我怎么写结论?
  12. 解决打开WORD时提示的:“无法复制文件:无法读源文件或磁盘”
  13. 解决微信小程序Android与iOS系统获取蓝牙广播包中deviceid不同的办法
  14. VELO3D将推出1米高的大型工业3D金属打印机,Knust-Godwin成为首家客户
  15. 订单测试点(欢迎补充)
  16. web前端目前的就业形势_2020年Web前端的前景及就业形势
  17. Spring Boot、Spring MVC、Spring:它们有什么区别?
  18. 机器人是如何实现避障的?
  19. 学生加权平均绩点计算系统
  20. 探究fontsize与字体height关系

热门文章

  1. paraview vtk文件乱码_如何在ParaView中为一系列传统VTK文件设置自定义时间步长值?...
  2. 3种方法封锁BT下载
  3. 34、查询课程名称为数学,且分数低于60的学生姓名和分数(不重点)(自己做出)
  4. csv文件操作、excel读写操作
  5. 结对项目-小学生四则运算系统(GUI)
  6. 常用邮箱POP3 STMP服务器与端口号设置:
  7. C#.net winform skin 皮肤大全devexpress,IrisSkin,DotNetSkin,SkinCrafter
  8. 《Java SE实战指南》01-09:常见问题及其解决方案
  9. 很好的在线端口扫描网站
  10. Scrapy实战:爬取知乎用户信息