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 机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务.后者 ...
随机推荐
- LVS负载均衡模型及算法概述
集群类型 LB: Load Balancing,负载均衡 HA:High Availability, 高可用 HP:High Performance, 高性能 负载均衡 负载均衡设备 Hardwa ...
- jQuery之自定义pagination控件
slpagination 效果: slpagination.js (function($) { $.fn.slpagination = function(options, params) { if ( ...
- PHP中的WebService
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间, 无论它们所使用的语言. ...
- JAVA-数据库之更新记录
相关资料:<21天学通Java Web开发> 更新记录 StatementUpdate.jsp <%@ page language="java" contentT ...
- WCF终结点——终结点地址(EndpointAddress)
终结点的地址的Uri属性作为终结点地址的唯一标示. 包括客户端终结点和服务端终结点. 一.服务端终结点: 服务端的终结点通过宿主的添加方法暴露出来,从而成为可以调用的资源. 下面是将服务绑定到宿主的代 ...
- [转]【MySQL】关于时间的查询,比如本月,本年,本季度
原文地址:https://www.cnblogs.com/flydkPocketMagic/p/7089324.html -- mysql查询本季度 -- 今天 select * from ticke ...
- C语言 · 数组输出
算法提高 数组输出 时间限制:1.0s 内存限制:512.0MB 输入一个3行4列的数组,找出该数组中绝对值最大的元素.输出该元素及其两个下标值.如有多个输出行号最小的,还有多个的话 ...
- TED Notes 1 (What leads to success)
1. the first thing is passion, do it for love, not for money2. if you do it for love, the money come ...
- PostgreSQL Table Partitioning<转>
原创文章,转载请务必将下面这段话置于文章开头处(保留超链接).本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/13/SQL3_partiti ...
- 如何使用sendEmail发送邮件
sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站 ...