R语言ggplot2 简介
ggplot2是一个绘制可视化图形的R包,汲取了R语言基础绘图系统(graphics) 和l attice包的优点,摒弃了相关的缺点,创造出来的一套独立的绘图系统;
ggplot2 有以下几个特点:
1) 图形映射, 自动化的将数据映射到图形上;
2) 图层叠加, 将不同形状的图表视为图层(layer), 可以方便的进行叠加
3)提供了范围控制(scale), 坐标系转换(coord), 分面(facet)等特性;
先看一个最简单的例子,用ggplot2 绘制一副散点图:
代码示例:
library(ggplot2)
data <- data.frame(x = 1:3, y = rep(3,3), group = c("A", "B", "C"))
ggplot(data, aes(x = x , y = y)) + geom_point()
效果图如下:

首先,我们准备绘图使用的数据, data 是一个数据框对象,有三列,第一列为x , 对应散点图中的 x 轴;第二列为y, 对应散点图中的y轴,第三列为group, 代表每个点的分类信息
在使用ggplot2 绘图时,首先调用 ggplot 这个函数,声明绘图使用的数据,aes 参数指定的是绘图使用的变量,x代表x轴的变量,y代表y轴的变量
然后使用 ‘+’ 添加一个图层,用来展示数据,这里我们选择的图层是散点图 geom_point
通过上面的例子我们可以看到,ggplot2 绘图时使用的是一个数据框对象, 图中的属性对应数据框中的某一列
下面看一个映射的例子,将group 分组信息映射到颜色上
代码示例;
ggplot(data, aes(x = x , y = y, color = group)) + geom_point()
效果图如下:

从图中可以看出,只需要在aes 参数中,添加一个color = group, 就可以将group 信息映射到颜色上,而且ggplot2会自动化的给出对应的图例
2) 接下来看一个图层叠加的例子
代码示例:
ggplot(data, aes(x = x , y = y)) + geom_point() + geom_line()
效果图如下:

从图中我们可以看到,只需要用 ‘+’ 在后面添加对应的图层,就可以方便的在一张图中展示多种类型的图表
R语言ggplot2 简介的更多相关文章
- R语言 ggplot2包
R语言 ggplot2包的学习 分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...
- R语言ggplot2软件包
相比r语言自带软件包,ggplot2有以下特色 图形语法的核心:统计图形是数据向几何对象属性的一个映射.
- R语言 ggplot2 画平滑图
library(splines) library(ggplot2) dt1 <- structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, ...
- R语言ggplot2中的panel. strip 基本概念
ggplot2 是一套独立的绘图系统,在一个完整的ggplot2的图表中,会有下面几个概念: 1) plot 2) panel 3) strip 4) legend 所有这些元素都会出现在图表中 代码 ...
- R语言——ggplot2补充知识点
案例 ggplot(head(age_data,10),aes(x=reorder(Country,age_median),y=age_median))+ geom_bar(aes(fill=Coun ...
- 第五篇:R语言数据可视化之散点图
散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...
- 皮尔森相似度计算举例(R语言)
整理了一下最近对协同过滤推荐算法中的皮尔森相似度计算,顺带学习了下R语言的简单使用,也复习了概率统计知识. 一.概率论和统计学概念复习 1)期望值(Expected Value) 因为这里每个数都是等 ...
- 第一篇:R语言数据可视化概述(基于ggplot2)
前言 ggplot2是R语言最为强大的作图软件包,强于其自成一派的数据可视化理念.当熟悉了ggplot2的基本套路后,数据可视化工作将变得非常轻松而有条理. 本文主要对ggplot2的可视化理念及开发 ...
- 【机器学习与R语言】1-机器学习简介
目录 1.基本概念 2.选择机器学习算法 3.使用R进行机器学习 1.基本概念 机器学习:发明算法将数据转化为智能行为 数据挖掘 VS 机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务.后者 ...
随机推荐
- hive添加UDF
hive添加UDF 步骤如下: 函数分为永久和临时函数,后者会话退出则消失,前者不会 查看已有函数(创建好后也可以通过这个来查看是否成功) show functions; 写UDF的java文件,如: ...
- LeetCode: Sum Root to Leaf Numbers 解题报告
Sum Root to Leaf Numbers Given a binary tree containing digits from 0-9 only, each root-to-leaf path ...
- 无线投屏PC投电视
http://www.waxrain.com/index.html 电脑投到电视上,看看PPT,显示电脑屏幕完全ok.
- Kafka vs RocketMQ——多Topic对性能稳定性的影响
引言 上期我们对比了RocketMQ和Kafka在多Topic场景下,收发消息的对比测试,RocketMQ表现稳定,而Kafka的TPS在64个Topic时可以保持13万,到了128个Topic就跌至 ...
- [转] handsontable的核心方法
原文地址:http://blog.csdn.net/mafan121/article/details/46122577 1.为handsontable添加钩子方法 addHook(key,callba ...
- Android Things专题5 I2C
文| 谷歌开发人员技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 上一讲中.我们说到 Android Things 的 API,以及 Peripheral I/O 设备包括的 ...
- json数据在前端(javascript)和后端(php)转换
学习目的:前后端数据交换 思路: json数据格式是怎么样? 后端各种语言怎么将自己内容转换成json格式的内容? 前端怎么接收json数据?有几种方式? js中怎么将json数据转换成js中的数 ...
- [ADC]TI am4378 ADC采样设置问题(am335x类似)
这段时间在调试AM4378的ADC问题,发现采样到的数据和真实输入波形有所出入,比如输入是1ms的周期,50%占空比的信号,但是采样的数据描点总是偏差较大,数据如下 iio device number ...
- 【随记】Q号解除限制一波三折
平日里养了一批QQ号码,前段时间部分号码出问题了,在一个不可能是我登录的时间登录了,而且还异常操作了.结果,被QQ安全中心关进了小黑屋,让我发送手机短信去领回来.这是事情的背景,不细述了. 这个事情的 ...
- 如何让其他机器访问你的oracle数据库
修改listen.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = E:\a ...