ggplot2
应用与:
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的更多相关文章
- 跟我一起ggplot2(1)
ggplot2 R的作图工具包,可以使用非常简单的语句实现非常复杂漂亮的效果. qplot 加载qplot library(ggplot2) # 测试数据集,ggplot2内置的钻石数据 qplot( ...
- R语言:ggplot2精细化绘图——以实用商业化图表绘图为例
本文版权归http://www.cnblogs.com/weibaar 本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从exce ...
- ggplot2 多图排版
和R自带的绘图系统不同,ggplot2不能直接通过par(mfrow) 或者 layout()来排版多张图片.终于发现,其实可以通过一个『gridExtra』包来搞定: require(gridExt ...
- ggplot2 上篇
title: "ggplot2 上篇" author: "li_volleyball" date: "2016年4月16日" output: ...
- ggplot2包--R可视化
1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley ...
- ggplot2.multiplot:将多个图形使用GGPLOT2在同一页上
一页多图 介绍 ggplot2.multiplot是一个易于使用的功能,将多个图形在同一页面上使用R统计软件和GGPLOT2绘图方法.这个功能是从easyGgplot2包. 安装并加载easyGgpl ...
- ggplot2 legend图例的修改
ggplot2中的legend包括四个部分: legend.tittle, legend.text, legend.key, legend.backgroud.针对每一部分有四种处理方式: eleme ...
- Plotting means and error bars (ggplot2)
library(ggplot2) ############################################# # summarySE ######################### ...
- ggplot2 学习笔记 (持续更新.....)
1. 目前有四种主题 theme_gray(), theme_bw() , theme_minimal(),theme_classic() 2. X轴设置刻度 scale_x_continuous(l ...
- ggplot2 demo
title <- rep("A Really Rather Long Text Label", 25)value <- runif(25, 1,10)spacing & ...
随机推荐
- centos7 jdk
查看已经自带的jdk: rpm -qa | grep jdk 卸载 sudo yum remove XXX 1.下载 jdk-8u101-linux-x64.rpm http://www.orac ...
- oracle insert 返回ID
create or replace procedure getid(v_id out number)as v_sql varchar2(500); begin v_sql:='insert into ...
- spring 事务回滚。
在平时的业务难免会遇到 sql异常. 有些业务会涉及 一个方法多个操作例如 dao.update() 1 dao.save(); 2 如果1正常,2不正常.默认是不回滚的. 所以在这个地方要手动处理 ...
- maven项目里的mapper不被加载,解析
出现这个错误是因为maven加载配置文件是从resource里加载的,所以要配置一下
- 试用bus hound来分析STM32CubeMX来生成USB_HID_Mouse工程
Bus Hound (x64). Complements of www.perisoft.net STM32_HID_mouse Device - Device ID (followed by the ...
- Python基本数据类型以及字符串
基本数据类型 数字 int ,所有的功能,都放在int里 a1 = 123 a1 = 456 ...
- layer.js 学习笔记
了解到一个很好用的弹框插件,名字叫layer.js 前几天要在网页中改写alert函数,自己写了一个模态框,虽然效果出来了,但是点击关闭后,无法返回当前页面.请教大神时,说有一个叫layer.js的东 ...
- leetcode AC1 感受
在网上第一个AC还是蛮高兴的,之前试了不少练习编程的方法,感觉不怎么适合自己,在OJ上做题的确是一个能够锻炼的方法. 之前一直研究学习的方法,往简单的说是认知.练习,往复杂的说是,保持足够input, ...
- C++复习:类和对象
类和对象 基本概念 1)类.对象.成员变量.成员函数 2)面向对象三大概念 封装.继承.多态 3)编程实践 类的定义和对象的定义,对象的使用 求圆形的面积 定义Teacher类 ...
- 一次UNITY闪退问题的定位心得
最近项目测试发现,运行unity后不退出运行模式,玩了一局后点击 “再来一局”,反复十几局后unity崩掉. 经观察,发现在这十几局的过程中,unity占用内存不断上升,由3.2G左右上升到3.6G左 ...