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 简介的更多相关文章

  1. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  2. R语言ggplot2软件包

    相比r语言自带软件包,ggplot2有以下特色 图形语法的核心:统计图形是数据向几何对象属性的一个映射.

  3. R语言 ggplot2 画平滑图

    library(splines) library(ggplot2) dt1 <- structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, ...

  4. R语言ggplot2中的panel. strip 基本概念

    ggplot2 是一套独立的绘图系统,在一个完整的ggplot2的图表中,会有下面几个概念: 1) plot 2) panel 3) strip 4) legend 所有这些元素都会出现在图表中 代码 ...

  5. R语言——ggplot2补充知识点

    案例 ggplot(head(age_data,10),aes(x=reorder(Country,age_median),y=age_median))+ geom_bar(aes(fill=Coun ...

  6. 第五篇:R语言数据可视化之散点图

    散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...

  7. 皮尔森相似度计算举例(R语言)

    整理了一下最近对协同过滤推荐算法中的皮尔森相似度计算,顺带学习了下R语言的简单使用,也复习了概率统计知识. 一.概率论和统计学概念复习 1)期望值(Expected Value) 因为这里每个数都是等 ...

  8. 第一篇:R语言数据可视化概述(基于ggplot2)

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

  9. 【机器学习与R语言】1-机器学习简介

    目录 1.基本概念 2.选择机器学习算法 3.使用R进行机器学习 1.基本概念 机器学习:发明算法将数据转化为智能行为 数据挖掘 VS 机器学习:前者侧重寻找有价值的信息,后者侧重执行已知的任务.后者 ...

随机推荐

  1. 【内核】几个重要的linux内核文件

    Preface 当用户编译一个linux内核代码后,会产生几个文件:vmlinz.initrd.img, 以及System.map,如果配置过grub引导管理器程序,会在/boot目录下看到这几个文件 ...

  2. windows安装php和mysql

    windows安装php和mysql 测试环境:windows2008-64位主机 1.下载护卫神php一件安装包 https://www.huweishen.com/soft/php/#phpdow ...

  3. Asp.Net正则获取链接地址

    string html = “html代码”; Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?< ...

  4. 判断URL文件是不是在于在。

    判断URL文件是不是在于在. private static bool UrlIsExist(string url) { System.Uri u = null; try { u = new Uri(u ...

  5. 基于html5背景图片自适应代码

    基于html5背景图片自适应代码是一款背景不随滚动条滚动,会根据分辨率不同自动匹配对应的背景图片.效果图如下: 在线预览   源码下载 实现的代码. css代码: .jawbone-hero .jaw ...

  6. browser_autopwn2

    browser_autopwn2是个啥玩意儿? 一个集合了浏览器漏洞的小框架 option msf > use auxiliary/server/browser_autopwn2 msf aux ...

  7. JDBC插入数据超长时无法自动截断问题

    问题 JDBC操作MySQL数据库,当进行插入或更新操作的数据长度超过表字段的声明最大长度时,会报出以下错误,导致不能正常插入: 但是当直接在MySQL客户端操作时,发现确实可以的,只不过会自动对插入 ...

  8. php设计模式总结-单件模式

    一.单件模式 英文叫做sington.其他语言中有叫做单例模式,其实都是一样的道理.保证只会出现单个实例,所以是单例.翻译成单件,永远只会产生一件,呵呵. 还有翻译成单元素模式.其实关键是看这个英文比 ...

  9. 如何在CentOS 6.5上升级PHP

    CentOS 6.5上默认安装PHP 5.3.因为后台网站无法正确运行在PHP 5.3上,所以计划将PHP升级到开发平台一样的版本PHP 5.5.为了方便,我们采用YUM的方式升级PHP 工具/原料 ...

  10. IT系统

      去年11月11日,也就是我们俗称的“双十一”当天,淘宝集市.淘宝商城天猫联手创造了交易额达191亿的销售神话.然而,即便是这种神话也还不足以成为留传至今的佳话,其中最为重要的原因就是支撑电子商务的 ...