1.1 简介

ggplot2是一个用来绘制统计图形(数据图形)的R软件包,与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的。ggplot2可以绘制出很多美观度的图形,同时能避免诸多繁琐的细节。用ggplot2绘图时,图形的每个部分可以一次进行构建,之后还可以进行编辑。ggplot2采用了图层的设计方式。

1.2 图形的语法

一张统计图形就是从数据几何对象(点、线、条形等)的图形属性(颜色、形状、大小等)的一个映射。此外,图形中还可能包含数据的统计变换,最后绘制在某个特定的坐标系。

  • 数据:最基础的部分是将数据中的变量对应到图形属性的映射;
  • 几何对象:代表在图中实际展现的点、线、多边形等元素;
  • 统计变换:是对数据进行的某种汇总,例如,将数据分组计数及创建直方图,或将一个二维的关系同线性模型进行解释,统计变换是可选的,到通常非常有用;
  • 标度:将数据的取值映射到图形空间,例如,用颜色、大小或形状来表示不同的取值,展现标度的常见做法是绘制图例和坐标轴;
  • 坐标系:描述了数据是如何映射到图形所在的平面的,它同时提供了看图所需的坐标系和网格线;
  • 分面:描述了如何将数据分解为各个子集,以及如何对子集作图并联合进行展示。

1.3 ggplot2和其他R软件包的对比

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

总结

ggplot2(1) 简介的更多相关文章

  1. R语言ggplot2 简介

    ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统: ggplot2 有以下几个特点: ...

  2. ggplot2——简介

    ggplot2是R语言最为强大的作图软件包,强于其自成一派的数据可视化理念.当熟悉了ggplot2的基本套路后,数据可视化工作将变得非常轻松而有条理. 本文主要对ggplot2的可视化理念及开发套路做 ...

  3. ggplot2包--R可视化

    1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley ...

  4. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  5. [转]ggplot2用法简单介绍

    简介 ggplot2包是基于Wilkinson在<Grammar of Graphics>一书中所提出的图形语法的具体实现, 这套图形语法把绘图过程归纳为data, transformat ...

  6. (数据科学学习手札38)ggplot2基本图形简述

    一.简介 上一篇中我们介绍了ggplot2的基本语法规则,为了生成各种复杂的叠加图层,需要了解ggplot2中一些基本的几何图形的构造规则,本文便就常见的基础几何图形进行说明: 二.各基础图形 2.1 ...

  7. (数据科学学习手札37)ggplot2基本绘图语法介绍

    一.简介 ggplot2是R语言中四大著名绘图框架之一,且因为其极高的参数设置自由度和图像的美学感,即使其绘图速度不是很快,但丝毫不影响其成为R中最受欢迎的绘图框架:ggplot2的作者是现任Rstu ...

  8. Python3.x:第三方库简介

    Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...

  9. (数据科学学习手札57)用ggplotly()美化ggplot2图像

    一.简介 经常利用Python进行数据可视化的朋友一定用过或听说过plotly这样的神器,我在(数据科学学习手札43)Plotly基础内容介绍中也曾做过非常详细的介绍,其渲染出的图像以浏览器为载体,非 ...

随机推荐

  1. javascript常用知识汇总

    javascript这个语言庞大而复杂,我用了三年多了,还是皮毛都不会.从刚开始的jquery,到后来的es6,每天都在学习,每天都在忘记. 1.禁止手机虚拟键盘弹出 在开发适配手机的页面时,出现了这 ...

  2. [LC] 66. Plus One

    Given a non-empty array of digits representing a non-negative integer, plus one to the integer. The ...

  3. jmeter常用定时器以及事物控制器

    定时器(并发):Synchronizing Timer 事物控制器: 勾选Generate parent sample当单看主要数据和页面数据性能测试结果还是有比较大的差异的,因而在进行页面性能测试的 ...

  4. JavaScript学习总结(五)原型和原型链详解

    转自:http://segmentfault.com/a/1190000000662547 私有变量和函数 在函数内部定义的变量和函数,如果不对外提供接口,外部是无法访问到的,也就是该函数的私有的变量 ...

  5. 【待填坑】LG_4996_咕咕咕

    正解思路和[AHOI]的中国象棋非常相似,同样是利用状态不一定一定要表示出来,利用组合数学递推节省枚举时间.

  6. 吴裕雄--天生自然python学习笔记:Python3 错误和异常

    语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 >>>while True print('Hello world') File "< ...

  7. Python中为什么可以通过bin(n & 0xffffffff)来获得负数的补码?

    一开始我以为这不是个大问题,因为本来整型数在内存中就是以补码的形式存在的,输出自然也是按照补码输出的,例如C语言中 printf("%X\n",-3); //输出 //FFFFFF ...

  8. Spring 插件安装

    文件下载:https://pan.baidu.com/s/1jIBOggm 网站下载:http://dist.springsource.com/release/TOOLS/update/e4.5/

  9. 使用 Commitizen 撰写 Angular 规范的 commit message

    本文为原创文章,转载请标明出处 目录 安装及配置 使用 1. 安装及配置 npm install -g commitizen npm install -g cz-conventional-change ...

  10. 三年无限流量免费随身WiFi充电宝是真的还是套路?

    一般来说大家现在看到"无限流量"."免费"等字眼,总会有一种"这是陷阱"."这是大坑"."就要黑你钱" ...