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基础内容介绍中也曾做过非常详细的介绍,其渲染出的图像以浏览器为载体,非 ...
随机推荐
- RabbitMQ传输原理、五种模式
本文代码基于SpringBoot,文末有代码连接 .首先是一些在Spring Boot的一些配置和概念,然后跟随代码看下五种模式 MQ两种消息传输方式,点对点(代码中的简单传递模式),发布/订阅(代码 ...
- 牛客-Corn Fields
题目传送门 sol:状压和动规,把每一行的m个01压缩成一个int 状压dp #include "bits/stdc++.h" using namespace std; ; con ...
- Qt QImage的浅拷贝与深拷贝
首先简单说说什么是浅拷贝和深拷贝:浅拷贝就比如像引用类型,而深拷贝就比如值类型,即浅拷贝是共用一块内存的,而深拷贝是复制一份内容. 我们再来看看QImage类的几个构造函数: // 浅拷贝 QImag ...
- JAVA线程笔记。
继承thread类 并覆写thread类中的run()方法. class 类名称 extents Thread{public void run(){}}实现Runble接口的run方法 线程的star ...
- 德国、日本的制造业为什么不能完全执行SOP?
在过去几十年,德国.日本的制造企业简直就是"以质取胜"的代名词,一些制造业的CEO非常自豪,甚至在公开场合调侃:大家好,我就是"保质保量"本人,也正因如此,德国 ...
- MAYA卸载/完美解决安装失败/如何彻底卸载清除干净MAYA各种残留注册表和文件的方法
在卸载MAYA重装MAYA时发现安装失败,提示是已安装或安装失败.这是因为上一次卸载后没有清理干净,系统会误认为已经安装过了.有的同学是新装的系统也会出现安装失败的情况,这是因为C++ 或者.NET的 ...
- 题解:线性规划与网络流24题 T2 太空飞行计划问题
太空飞行计划问题 问题描述 W教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要 ...
- [LC] 100. Same Tree
Given two binary trees, write a function to check if they are the same or not. Two binary trees are ...
- 用nexus搭建maven2内部服务器
由于项目组需要,要搭建内部的Maven仓库,借鉴项目组内部及外部同事的经验选用nexus来搭建内部仓库.下面描述一下具体的步骤. 一.安装配置过程 1.下载nexus,地址http://www.s ...
- Unique Snowflakes(窗口滑动)
题目: Emily the entrepreneur has a cool business idea: packaging and selling snowflakes. She has devis ...