作者:穆晨

来源:https://www.cnblogs.com/muchen/p/5310732.html

阅读目录

  • 数据分布图简介

  • 绘制基本直方图

  • 基于分组的直方图

  • 绘制密度曲线

  • 绘制基本箱线图

  • 往箱线图添加槽口和均值

  • 绘制2D等高线

  • 绘制2D密度图

数据分布图简介

中医上讲看病四诊法为:望闻问切。而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样;闻:仔细分析数据是否合理;问:针对前两步工作搜集到的问题与业务方交流;切:结合业务方反馈的结果和项目需求进行数据分析。

"望"的方法可以认为就是制作数据可视化图表的过程,而数据分布图无疑是非常能反映数据特征(用户症状)的。R语言提供了多种图表对数据分布进行描述,本文接下来将逐一讲解。

绘制基本直方图

本例选用如下测试集:

直方图的横轴为绑定变量区间分隔的取值范围,纵轴则表示变量在不同变量区间上的频数。绘制时只需将基函数的美学特征集中配置好需要分析的变量,然后创建新的直方图图层即可。R语言示例代码如下:

# 基函数
ggplot(faithful, aes(x = waiting)) +# 直方图函数:binwidth设置组距geom_histogram(binwidth = 5, fill = "lightblue", colour = "black")

运行结果:

基于分组的直方图

本例选用如下测试集:

直方图的分组图和本系列前面一些博文中讲的一些分组图不同,它不能进行水平方向的堆积 - 这样看不出频数变化趋势;也不能进行垂直方向的堆积 - 这样同样看不出趋势。这里采用一种新的堆积方法:重叠堆积,R语言实现代码如下:

# 预处理:将smoke变量转换为因子类型
birthwt$smoke = factor(birthwt$smoke)# 基函数:x设置目标变量
ggplot(birthwt, aes(x = bwt, fill = smoke)) +# 直方图函数:position设置堆积模式为重叠geom_histogram(position = "identity", alpha = 0.4)

运行结果:

也可以采用分面的方法,R语言实现代码如下:

# 预处理1:将smoke变量转换为因子类型
birthwt$smoke = factor(birthwt$smoke)
# 预处理2:改变因子水平名称
birthwt$smoke = revalue(birthwt$smoke, c("0" = "No Smoke", "1" = "Smoke"))# 基函数
ggplot(birthwt, aes(x = bwt)) +# 直方图函数geom_histogram(fill = "lightblue", colour = "black") +# 分面函数:纵向分面facet_grid(smoke ~ .)

运行结果:

绘制密度曲线

本例选用如下测试集:

密度曲线表达的意思和直方图很相似,因此密度曲线的绘制方法和直方图也几乎是相同的。区别仅在于密度曲线的横轴要绑定到连续型变量,另外绘制函数的名字不同。R语言示例代码如下:

# 预处理:将smoke变量转换为因子类型
birthwt$smoke = factor(birthwt$smoke)# 基函数:x设置目标变量,fill设置填充色
ggplot(birthwt, aes(x = bwt, fill = smoke)) +# 密度曲线函数:alpha设置填充色透明度geom_density(alpha = 0.3)

运行结果:

绘制基本箱线图

本例选用如下测试集:

箱线图是一种常用数据分布图,下图表示了这种图中各元素的意义:

绘制方法是在基函数中将变量分组绑定到横轴,变量本身绑定到纵轴。此外,为了美观也可以将分组绑定到fill变量并设置调色板。R语言示例代码如下:

# 基函数ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +  # 箱线图函数  geom_boxplot() +  # 颜色标尺  scale_fill_brewer(palette = "Pastel2")

运行结果:

往箱线图添加槽口和均值

在上一节绘制的基本箱线图之上,还能进一步绘制以展示更多信息。

其中最常见的是为箱子添加槽口,它能更清晰的表示中位数的位置。R语言实现代码如下:

# 基函数
ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +# 箱线图函数geom_boxplot(notch = TRUE) +# 颜色标尺scale_fill_brewer(palette = "Pastel2")

运行结果:

通过stat_summary()函数,还可以在箱线图中标记均值点。R语言实现代码如下:

# 基函数
ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +# 箱线图函数geom_boxplot(notch = TRUE) +# 颜色标尺scale_fill_brewer(palette = "Pastel2")

运行结果:

绘制2D等高线

本例选用如下测试集:

绘制2D等高线主要是调用stat_density()函数。这个函数会给出一个基于数据的二维核密度估计,然后我们可基于这个估计值来判断各样本点的"等高"性。接下来首先给出各数据点及等高线的绘制方法,R语言实现代码如下:

# 基函数
ggplot(faithful, aes(x = eruptions, y = waiting)) +# 散点图函数geom_point() +# 密度图函数stat_density2d()

运行结果:

        也可以通过设置密度函数美学特征集中的colour参数来给不同密度的等高线着色,R语言实现代码如下:

# 基函数
ggplot(faithful, aes(x = eruptions, y = waiting)) +# 密度图函数:colour设置等高线颜色stat_density2d(aes(colour = ..level..))

运行结果:

绘制2D密度图

本例选用如下测试集:

等高线图也是密度图的一种,因此绘制密度图和等高线图用的是同一个函数:stat_density(),只是它们传入的参数不同。首先绘制经典栅格密度图,R语言实现代码如下:

# 基函数
ggplot(faithful, aes(x = eruptions, y = waiting)) +# 密度图函数:fill设置填充颜色数据为密度,geom设置绘制栅格图stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE)

运行结果:

也可以将密度变量映射到透明度来渲染,R语言实现代码如下:

ggplot(faithful, aes(x = eruptions, y = waiting)) +# 散点图函数geom_point() +# 密度图函数:alpha设置填充透明度数据为密度,geom设置绘制栅格图stat_density2d(aes(alpha = ..density..), geom = "raster", contour = FALSE)

运行结果:

猜你喜欢

  • 11种概率分布,你了解几个?

  • 贝叶斯定理的通俗理解

  • R语言资源整理——史上最全

  • R语言简单实现决策树算法

R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)...相关推荐

  1. R语言ggplot2可视化时间序列数据并添加稳定趋势线识别数据的稳定趋势

    R语言ggplot2可视化时间序列数据并添加稳定趋势线识别数据的稳定趋势 目录 R语言ggplot2可视化时间序列数据并添

  2. R语言ggplot2可视化时间序列数据:ggplot2可视化在时间轴上添加按月的箱图(boxplot)

    R语言ggplot2可视化时间序列数据:ggplot2可视化在时间轴上添加按月的箱图(boxplot) 目录

  3. R语言ggplot2可视化时间序列数据并突出标注重要时间点数据实战:特殊节点标签标注、特殊区域标注

    R语言ggplot2可视化时间序列数据并突出标注重要时间点数据实战:特殊节点标签标注.特殊区域标注 目录

  4. R语言ggplot2可视化设置数据点的大小、设置数据点的颜色、设置数据点边缘线条的厚度(point border thickness)实战

    R语言ggplot2可视化设置数据点的大小.设置数据点的颜色.设置数据点边缘线条的厚度(point border thickness)实战 目录

  5. R语言ggplot2可视化绘制带有双y轴(double y axis)的分面图(facet、facet_grid)

    R语言ggplot2可视化绘制带有双y轴(double y axis)的分面图(facet.facet_grid) 目录 R语言ggplot2可视化绘制带有双y轴(double y axis)的分面图 ...

  6. R语言ggplot2可视化:将条形图(bar plot)和线图(line plot)组合在一起并使用双Y轴(double y axis)进行可视化、其中一个Y轴显示为百分比

    R语言ggplot2可视化:将条形图(bar plot)和线图(line plot)组合在一起并使用双Y轴(double y axis)进行可视化.其中一个Y轴显示为百分比 目录

  7. Py之Seaborn:数据可视化Seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的组合图/矩阵图实现

    Py之Seaborn:数据可视化Seaborn库的柱状图.箱线图(置信区间图).散点图/折线图.核密度图/等高线图.盒形图/小提琴图/LV多框图的组合图/矩阵图实现 目录

  8. R 多变量数据预处理_R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)...

    作者:穆晨 来源:https://www.cnblogs.com/muchen/p/5310732.html 阅读目录 数据分布图简介 绘制基本直方图 基于分组的直方图 绘制密度曲线 绘制基本箱线图 ...

  9. 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

    阅读目录 数据分布图简介 绘制基本直方图 基于分组的直方图 绘制密度曲线 绘制基本箱线图 往箱线图添加槽口和均值 绘制2D等高线 绘制2D密度图 数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据 ...

最新文章

  1. AI安防火热战况下 算法到场景还有多远?
  2. phpstrom配置svn/git提交
  3. 三十八、Java集合中的ConcurrentHashMap
  4. jsp项目放入宝塔windows环境_《鸡站群组》-教你建站(1.1) 下载并配置windows宝塔面板...
  5. Arch Linux 安装总结
  6. loadrunner-2-9添加事务
  7. python第三方库——requests
  8. python初始化空列表_python list的深拷贝与浅拷贝-以及初始化空白list的方法(1)
  9. python中处理命令行参数命令getopt
  10. 哥德巴赫猜想-中文维基百科
  11. JPA自动生成数据库表教程
  12. html5怎么让表格居中,HTML怎么让表格居中
  13. 天龙八部,小师妹,李沧海,齐御风
  14. django后台添加学生-jquery实现表单正则表达式验证,判断是否可以进行提交
  15. python 字符串输出时 使用空格隔开
  16. 机器学习(9)--神经网络
  17. Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?
  18. 【经典】CSS技巧教程资源大全
  19. 夸计算机老师的成语,赞美老师的词语和句子 把诚挚的祝愿献给老师
  20. 粤教版管理计算机中的文件教案,粤教版高中信息技术教案(数据库).doc

热门文章

  1. 苹果7更新系统后显示无服务器,苹果手机备份还原之后显示服务器問題
  2. 笔记本电脑运行特别慢怎么解决
  3. kubernetes 使用kubectl port-forward 访问应用
  4. 超过100w条数据表的分页查询优化
  5. 【mathematica画三维空间坐标系箭头】
  6. JavaWeb — 系统结构分析
  7. C++实现单链表的基本操作
  8. Linux源码编译安装apache httpd2.4.48
  9. 视频在H5页面在微信浏览器不能自动播放问题
  10. 2019日本Summer Sonic音乐节攻略(明星阵容)