ggplot2绘图入门系列之二:图层控制与直方图
如前文所述,ggplot2使用图层将各种图形元素逐步添加组合,从而形成最终结果。第一层必须是原始数据层,其中data参数控制数据来源,注意数据形式只能是数据框格式。aes参数控制了对哪些变量进行图形映射,以及映射方式,aes是Aesthetic的缩写。
下面我们来绘制一个直方图作为示例。数据集仍采取mpg,对hwy变量绘制直方图。首先加载了扩展包,然后用ggplot函数建立了第一层,hwy数据映射到X轴上;使用+号增加了第二层,即直方图对象层。此时p被视为一种层对象,使用summary函数可得到关于它的更多信息,print(p)命令即可进行绘图。
1 library(ggplot2) 2 p <- ggplot(data = mpg,aes(x = hwy)) 3 p <- p + geom_histogram() 4 summary(p) 5 data: manufacturer, model, displ, year, cyl, trans, 6 drv, cty, hwy, fl, class [234x11] 7 mapping: x = hwy 8 faceting: facet_grid(. ~ ., FALSE) 9 ----------------------------------- 10 geom_histogram: 11 stat_bin: 12 position_stack: (width = NULL, height = NULL)
上面的信息告诉我们,p对象含有两层,第一层数据层描述了变量和映射方式,第二层是直方图对象(geom_histogram),geom表示几何对象,它是ggplot中重要的图层控制对象,因为它负责图形渲染的类型。geom_histogram是图形渲染类型的一种,其它类型可参见官网。
每个geom对象都需要有数据输入,数据可以从第一层中自动读取,也可以在aes参数中直接设置。而且每个geom还默认搭配某种统计变换(stat),geom_histogram的默认统计变换是stat_bin。它负责对数据进行分组计数。
下面我们尝试两种更为复杂的直方图,首先将数据按照year这个变量划分为两组,用不同的颜色绘制直方图,而且用频率而非计数来刻画Y轴,并添加密度曲线。
p <- ggplot(mpg,aes(hwy)) p + geom_histogram(position = 'identity',alpha=0.5,aes(y = ..density..,fill = factor(year))) +stat_density(geom = 'line',position = 'identity',aes(colour = factor(year)))
如果想将两个直方图分开绘制,也可以使用facet_grid参数,结果如下图所示。
转载于:http://r-ke.info/2012/02/06/ggplot2-intro-2.html
转载于:https://www.cnblogs.com/liulunyang/p/3868852.html
ggplot2绘图入门系列之二:图层控制与直方图相关推荐
- ggplot2绘图入门系列之四:再说散点图
1 色彩和形状的控制 数据特征不仅可以用坐标来表示,也可以用不同的色彩或形状来表示.仍以mpg数据集为例,所用到的变量有cty(城市中行驶距离),hwy(高速路行驶距离),displ(排量大小),ye ...
- r语言dmy()函数转化出现na_R语言入门系列之二
2数据管理与可视化 2.1数据预处理 在进行正式的数据分析之前,通常要对数据进行处理.而读取数据仅仅是最简单的,之后还要进行数据的筛选.排序.转换等.数据框是最方便的数据存储.管理对象.R有很多内置的 ...
- STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置
摘自:STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置 作者:自信且爱笑' 发布时间: 2021-05-01 12:08:32 网址:https://blog ...
- [转]OllyDBG 入门系列(二)-字串参考
标 题: [原创]OllyDBG 入门系列(二)-字串参考 作 者: CCDebuger 时 间: 2006-02-14,13:34 链 接: http://bbs.pediy.com/showthr ...
- OllyDBG 入门系列(二)-字串参考
标 题: [原创]OllyDBG 入门系列(二)-字串参考 作 者: CCDebuger 时 间: 2006-02-14,13:34:43 链 接: http://bbs.pediy.com/show ...
- Reflex WMS入门系列之二十一:关闭一个不需要的盘点
Reflex WMS入门系列之二十一:关闭一个不需要的盘点 仓库管理实践中,如果业务人员创建好了一个盘点,发现后续暂时不需要执行实际的库存清点工作,或者本次盘点因故取消,或者发现该盘点数据有误需要关闭 ...
- 看雪学院-OllyDBG入门系列(二)笔记
OllyDBG 入门系列(二)-字串参考 笔记 原作地址:http://bbs.pediy.com/showthread.php?threadid=21308 作者:CCDebuger 软件破解的 ...
- Reflex WMS入门系列十二:Reflex里的Location
Reflex WMS入门系列十二:Reflex里的Location 玩过SAP系统里的人都知道,在SAP系统里库存管理分为IM Level和WM Level.IM Level的仓库,在SAP里被定义为 ...
- Spark入门系列(二)| 1小时学会RDD编程
作者 | 梁云1991 转载自Python与算法之美(ID:Python_Ai_Road) 导读:本文为 Spark入门系列的第二篇文章,主要介绍 RDD 编程,实操性较强,感兴趣的同学可以动手实现一 ...
最新文章
- 区块链预言机(3)关键点说明
- 详解平衡二叉树(AVL),红黑树与平衡二叉树的区别
- okcoinapi开发代码_比特币程序化交易入门(5):WebSocket API
- 摆脱pom XML…几乎
- 服务中心Eureka
- php while mysql_我怎么能避免在PHP的While循环中使用MySQL查询
- linux比较小数大小,带有小数点的数值对比大小
- AccessibilityService(无障碍辅助服务)
- Android实现友盟分享小程序
- vue+elementui 房贷计算器
- win7系统修复工具_Windows Repair Pro v4.4.60 系统修复工具
- 安全合规/法案--34--《APP违法违规收集使用个人信息行为认定方法》原文及解读
- ubuntu18.04声音dummy output的问题
- bugku-逆向-5、Timer
- Python做一个Kindle电子书下载助手,真香!
- 金岩石:陈晓失误已铸成大错
- android 事例源码 搜集
- 金庸群侠传之武林浩荡1.7全隐藏完整攻略流程(图文)
- 荧光染色切片病理分析算法(深度学习+机器学习)
- 图像识别和计算机视觉:如何应用人工智能技术实现自动化检测和识别
热门文章
- java 浮点数精度_Java中浮点数精度问题
- 微信验证服务器是怎么回事,微信服务器认证为什么需要这么多参数?
- 加载svr模型_机器学习XGBoost实战,网格搜索自动调参,对比随机森林,线性回归,SVR【完整代码(含注释)+数据集见原文链接】...
- mysql事务实战_MySQL - 实战 (2) - 事务隔离
- mysql 数据类型 decimal_mysql decimal、numeric数据类型
- python求均方根误差_python之MSE、MAE、RMSE的使用
- 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
- golang适合做什么_什么八字适合做销售 适合做销售的八字特征
- 不会用计算机怎么办,不会看电脑配置怎么办?通过本文就可以详细了解电脑配置信息...
- mybatis的dao向mapper.xml传入多参数