应用与:

http://www.cnblogs.com/batteryhp/p/5232353.html

由于python中matplotlib包的画图功能比较基本,不怎么炫酷,所以想用R中的ggplot2来作图。用mysql作为数据中介,可以让python和R共享数据,这样数据处理起来能发挥各自优势,同时保持数据一致,而用R来做图也就方便很多了。

原来在做数据可视化的时候用过ggplot2,不过没有系统学过,现在再学一遍。《ggplot2:数据分析与图形艺术》是一本全面的书,可以作为工具书。这次复习看的是知乎上的一个问题:

https://www.zhihu.com/question/24779017

上面的回答很精炼,谢谢所有答主。

--

首先是ggplot2的思想:

  • 作一张图就是将数据特点映射到点、线等几何对象的大小、颜色等属性上
  • 一张统计图还可能包含数据的统计变换(均值、方差等,stats),最后绘制在某个特定的坐标系(coord)中,还可能有分面(facet,将绘图窗口划分为若干子窗口)用来生成数据不同子集的图形
  • ggplot2的作图方式是按照图层作图,先设置一张“画布”,然后再向“画布”上添加一层一层的图层(会ps的同学会觉得很熟悉)

几个概念:

  • 几何对象(geom_):代表在图中实际看到的图形元素,如点、线、多边形等
  • 图形属性(aes):横纵坐标、点的大小、颜色,填充色等
  • 统计变换(stat_):对数据进行的某种汇总与变换等
  • 标度(scale):其作用是将数据的取值映射到图形空间,例如用颜色、大小或形状来表示不同的取值。展现标度的常见做法是绘制图例和坐标轴--他们实际上是从图形到数据的一个映射,使读者可以从图形中读取原始数据
  • 坐标系(coord):描述了数据时如何映射到图形所在的平面的,它同时提供了看图所需的坐标轴和网格线
  • 分面(facet):描述了如何将数据分解为各个子集,以及如何对子集作图并联合进行展示。

书上说的作图语法的局限性:

  • 对于感兴趣的问题,并不指出应该采用什么图形来进行展示,语法只能提供关于作图流程的说明,并不能告诉你作什么图合适
  • 语法并不规定图形的外观是怎样的,应该根据经验确定
  • 并没有交互式操作,ggplot2只能绘制静态图形(?)想绘制交互式图形需要看其他文献

ggplot2的更多相关文章

  1. 跟我一起ggplot2(1)

    ggplot2 R的作图工具包,可以使用非常简单的语句实现非常复杂漂亮的效果. qplot 加载qplot library(ggplot2) # 测试数据集,ggplot2内置的钻石数据 qplot( ...

  2. R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

    本文版权归http://www.cnblogs.com/weibaar 本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从exce ...

  3. ggplot2 多图排版

    和R自带的绘图系统不同,ggplot2不能直接通过par(mfrow) 或者 layout()来排版多张图片.终于发现,其实可以通过一个『gridExtra』包来搞定: require(gridExt ...

  4. ggplot2 上篇

    title: "ggplot2 上篇" author: "li_volleyball" date: "2016年4月16日" output: ...

  5. ggplot2包--R可视化

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

  6. ggplot2.multiplot:将多个图形使用GGPLOT2在同一页上

    一页多图 介绍 ggplot2.multiplot是一个易于使用的功能,将多个图形在同一页面上使用R统计软件和GGPLOT2绘图方法.这个功能是从easyGgplot2包. 安装并加载easyGgpl ...

  7. ggplot2 legend图例的修改

    ggplot2中的legend包括四个部分: legend.tittle, legend.text, legend.key, legend.backgroud.针对每一部分有四种处理方式: eleme ...

  8. Plotting means and error bars (ggplot2)

    library(ggplot2) ############################################# # summarySE ######################### ...

  9. ggplot2 学习笔记 (持续更新.....)

    1. 目前有四种主题 theme_gray(), theme_bw() , theme_minimal(),theme_classic() 2. X轴设置刻度 scale_x_continuous(l ...

  10. ggplot2 demo

    title <- rep("A Really Rather Long Text Label", 25)value <- runif(25, 1,10)spacing & ...

随机推荐

  1. 安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)

    前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库 ...

  2. Unity3D Update() 和 FixedUpdate()区别

    Unity3D中 Update()与FixedUpdate()的区别是什么呢?从字面上理解,它们都是在更新时会被调用,并且会循环的调用.但是Update会在每次渲 染新的一帧时,被调用.而FixedU ...

  3. tkinter pyqt同时呈现两个窗口

  4. 代码: js: 数值操作

    数值转换: 将 32000 这样的数字,转换为“3.2万” //将32000 这样的数字,转换为 “3.2万” var price = parseInt('31999'); var price2 = ...

  5. 7. Orcle树形结构(类似数据字典有父子类关系),查询末节点的所有记录

    SELECT a.*FROM tablename aWHERE NOT EXISTS (SELECT 1 FROM tablename b WHERE b.Fid = a.id)START WITH ...

  6. 关于 Glassfish

    GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发.部署和重新分发.开发者可以免费获得源代码,还可以对代码进行更改 GlassFish 是用于构建 Java EE 5应 ...

  7. PHP微信公共号自定义菜单。

    /**微信生成菜单 * [addMennu description] */ public function addMennu(){ $token = $this->getToken(); $ur ...

  8. sql 日期格式

    select CONVERT(varchar(10), getDate(),121) --不要时间2002-01-01 select CONVERT(varchar(10), getDate(),12 ...

  9. C语言复习:编译

    C接口的封装和设计专题 Win32环境下动态链接库(DLL)编程原理   比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.其中可能存在一些模块的 ...

  10. 在Linux中简单实现回收子进程

    学习到wait函数了,这个函数的作用是用来回收进程.一般来说,正常退出的进程是不需要我们来专门回收的.但是进程有这两种:孤儿进程和僵尸进程. 孤儿进程: 通俗点说就是父进程先于子进程死亡.此时子进程就 ...