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基础内容介绍中也曾做过非常详细的介绍,其渲染出的图像以浏览器为载体,非 ...
随机推荐
- 学习python-20191230(1)-Python Flask高级编程开发鱼书_第04章_应用、蓝图与视图函数
视频06: 1.自动导包快捷键——默认为alt + enter 键组合 选中的字符由小写变为大写——Ctrl + Shift + U键组合 2.DataRequired()——防止用 ...
- cs231n spring 2017 Python/Numpy基础
本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...
- 使用记事本编写html代码并运行
在使用记事本编写html代码,运行时需要将其.txt后缀改为.html双击运行即可. 有时电脑会默认的隐藏其后缀,这时需要修改一下. win7系统修改方法: 双击 我的电脑: 选择 组织: 选择 ...
- 合并cookie,提取json数据
发送的第3个请求需要前两个请求的cookie,需要对cookie进行合并 发送的请求数据来自于json数据中的某个键值. 这里是删除所有的对话主题目录,每一个目录有一个id,发起删除对话主题目录的请求 ...
- 如何用js判断一个对象是不是Array
.如何用js判断一个对象是不是Array 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...
- 正则提取关键字符-python代码实现
原文地址:http://www.bugingcode.com/blog/python_re_extraction_key.html 关于python的正则使用在以前的文章中 http://www.bu ...
- AFNetworking基本模块
AFNetworking主要分为5个模块 通信模块(AFURLSessionManager, AFHTTPSessionManager) 网络状态监听 安全模块 通信序列化/反序列化模块 UIKit相 ...
- selenium&appium中的三种等待方式---基于python
我们在实际使用selenium或者appium时,等待下个等待定位的元素出现,特别是web端加载的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段,在selenium中 ...
- springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据
springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal ...
- 利用机器学习检测HTTP恶意外连流量
本文通过使用机器学习算法来检测HTTP的恶意外连流量,算法通过学习恶意样本间的相似性将各个恶意家族的恶意流量聚类为不同的模板.并可以通过模板发现未知的恶意流量.实验显示算法有较好的检测率和泛化能力. ...