ggplot2(1) 简介
1.1 简介
ggplot2是一个用来绘制统计图形(数据图形)的R软件包,与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的。ggplot2可以绘制出很多美观度的图形,同时能避免诸多繁琐的细节。用ggplot2绘图时,图形的每个部分可以一次进行构建,之后还可以进行编辑。ggplot2采用了图层的设计方式。
1.2 图形的语法
一张统计图形就是从数据到几何对象(点、线、条形等)的图形属性(颜色、形状、大小等)的一个映射。此外,图形中还可能包含数据的统计变换,最后绘制在某个特定的坐标系。
- 数据:最基础的部分是将数据中的变量对应到图形属性的映射;
- 几何对象:代表在图中实际展现的点、线、多边形等元素;
- 统计变换:是对数据进行的某种汇总,例如,将数据分组计数及创建直方图,或将一个二维的关系同线性模型进行解释,统计变换是可选的,到通常非常有用;
- 标度:将数据的取值映射到图形空间,例如,用颜色、大小或形状来表示不同的取值,展现标度的常见做法是绘制图例和坐标轴;
- 坐标系:描述了数据是如何映射到图形所在的平面的,它同时提供了看图所需的坐标系和网格线;
- 分面:描述了如何将数据分解为各个子集,以及如何对子集作图并联合进行展示。

1.3 ggplot2和其他R软件包的对比
- 基础图形系统基于实现S语言图形驱动的经验,采用“纸-笔”模式,只能在图形的最顶端进行绘图,而不能修改或删除已有的内容,除了已经呈现在屏幕上的图像之外,图形没有其他的表达形式,,如层次、结构、元素类型等;
- 网格图形系统是一个更加丰富的绘制基本图形元素的系统,其中的图形对象可以与屏幕上的图像独立存在,并且可以反复修改,其中一系列的视图区可以方便地对图形进行复杂的布局;
- lattice是对基础绘图系统的巨大改进,在此可以方便地进行条件作图,并且其中的一些作图细节或自动地完成;
- ggplot2能够创建任何类型的统计图形,其背后的模型使得用户可以用紧凑的语法轻松地绘制出许多图形,而且其中独立的图形部件使得图形的可扩展性很强。
总结

ggplot2(1) 简介的更多相关文章
- R语言ggplot2 简介
ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统: ggplot2 有以下几个特点: ...
- ggplot2——简介
ggplot2是R语言最为强大的作图软件包,强于其自成一派的数据可视化理念.当熟悉了ggplot2的基本套路后,数据可视化工作将变得非常轻松而有条理. 本文主要对ggplot2的可视化理念及开发套路做 ...
- ggplot2包--R可视化
1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley ...
- (数据科学学习手札55)利用ggthemr来美化ggplot2图像
一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...
- [转]ggplot2用法简单介绍
简介 ggplot2包是基于Wilkinson在<Grammar of Graphics>一书中所提出的图形语法的具体实现, 这套图形语法把绘图过程归纳为data, transformat ...
- (数据科学学习手札38)ggplot2基本图形简述
一.简介 上一篇中我们介绍了ggplot2的基本语法规则,为了生成各种复杂的叠加图层,需要了解ggplot2中一些基本的几何图形的构造规则,本文便就常见的基础几何图形进行说明: 二.各基础图形 2.1 ...
- (数据科学学习手札37)ggplot2基本绘图语法介绍
一.简介 ggplot2是R语言中四大著名绘图框架之一,且因为其极高的参数设置自由度和图像的美学感,即使其绘图速度不是很快,但丝毫不影响其成为R中最受欢迎的绘图框架:ggplot2的作者是现任Rstu ...
- Python3.x:第三方库简介
Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...
- (数据科学学习手札57)用ggplotly()美化ggplot2图像
一.简介 经常利用Python进行数据可视化的朋友一定用过或听说过plotly这样的神器,我在(数据科学学习手札43)Plotly基础内容介绍中也曾做过非常详细的介绍,其渲染出的图像以浏览器为载体,非 ...
随机推荐
- 林轩田机器学习基石课程学习笔记5 — Training versus Testing
上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...
- VSAN磁盘扩容与收缩
删除闪存盘后,整个磁盘组都会被删除 假如一个磁盘组里面只有一块HDD盘,删除此HDD盘,磁盘组也只接被删除 可以整体删除整个磁盘组
- CSA|EI
信息检索 CSA是学科特色的包含相关学科的内容,其网址是https://search.proquest.com/ 可以使用命令行检索: 分类的限制检索: 寻找检索线索可使用百科全书 EI是工程领域最全 ...
- 第十六届“二十一世纪的计算”学术研讨会 牛津大学肿瘤成像学教授Michael Brady主题演讲
Computing and Healthcare 牛津大学肿瘤成像学教授Michael Brady主题演讲" title="第十六届"二十一世纪的计算"学术研讨 ...
- 0-1背包问题-DP
中文理解: 0-1背包问题:有一个贼在偷窃一家商店时,发现有n件物品,第i件物品价值vi元,重wi磅,此处vi与wi都是整数.他希望带走的东西越值钱越好,但他的背包中至多只能装下W磅的东西,W为一整数 ...
- Java实现Luhm算法--银行卡号合法性校验
银行卡是由"发卡行标识代码 + 自定义 + 校验码 "等部分组成的. 银联标准卡与以往发行的银行卡最直接的区别就是其卡号前6位数字的不同. 银行卡卡号的前6位是用来表示发卡银行 ...
- tf.estimator
estimator同keras是tensorflow的高级API.在tensorflow1.13以上,estimator已经作为一个单独的package从tensorflow分离出来了.estimat ...
- 吴裕雄--天生自然KITTEN编程:行走
- js对象或数组深复制
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- XX系统测试总结报告
XX系统测试总结报告 1 引言 1.1 编写目的 编写该测试总结报告主要有以下几个目的 1. 通过对测试结果的分析,得到对软件质量的评价 2. 分析测试的过程,产品,资源,信息, ...