R绘图系统概要总结
来源:互联网 发布:js分页代码实例 编辑:程序博客网 时间:2024/06/08 05:01
R的绘图系统
author:秦景坤
date: 2017-07-02
GitHub:https://github.com/Roc-J/R
R的三大绘图系统
基本的绘图系统(Base Plotting System)
- 自由发挥的空间:绘图始于空白帆布
- 需要事先计划;直观地实时反映绘图和分析数据的逻辑
- 两步 = 图 + 修饰/添加 = 执行一系列函数
- 适于绘制2D图
- 自由发挥的空间:绘图始于空白帆布
Lattice绘图系统(Lattice Plotting System)
- 绘图 = 使用一次函数调用(一次成图)
- 特别适用于观测变量间的交互:在变量z的不同水平,变量y如何随变量x变化
ggplot2绘图系统(ggplot2 Plotting System)
- The grammar of Graphics
- 图:动词、名词、形容词等
- 数据映射到几何客体(points/lines/bars)的美学属性(颜色/形状/大小)
- 基本绘图系统 + Lattice绘图系统
- 自动处理标题/文字说明/空间等,但也允许通过添加注释进行修改
- The grammar of Graphics
基本绘图系统
- 绘图函数(graphics包)
- plot
- hist 柱状图
- boxplot 箱图
- points 点
- lines 线
- text 在固定位置添加文字
- title 给图命名
- axis 添加坐标轴
- 调用函数会启用一个图形设备(如果没有正在运行的图形设备)并设备上绘图
- 基本绘图系统 + 屏幕设备
plot
-plot(x,y,…)
-重要的参数
* xlab/ylab 坐标轴
* lwd 画线的宽度
* lty 画线的类型
* pch 画点的 类型
* col 颜色操作
* 其他 ?par
par()
-用于设置全局参数(作用于R中的所有plot绘图)
-bg 背景颜色
-mar 作图和边界的边距
-las
-mfrow / mfcol
-这些参数可以在每次plot之前进行修改
Lattice绘图系统
- 绘图函数(lattice包)
- xyplot 适合画散点图
- bwplot
- histogram 柱状图
- stripplot
- dotplot 点图,差异
- splom
- levelplot
- contourplot
- 格式:xyplot(y~x | f*g ,data) y,x 是因变量和自变量,f*g是分类变量
- panel函数,用于控制每个面板内的绘图
grid包
- 实现了独立于base的绘图系统
- lattice包是基于grid创建的,很少直接从grid包调用函数
lattice与Base的重要区别
- Base绘图函数直接在图形设备上绘图
- lattice绘图函数返回trellis类对象
- 打印函数真正执行了在设备上绘图
- 命令执行时,trellis类对象会被自动打印,所以看起来就像是lattice函数直接完成了绘图
ggplot2绘图系统
层(Layer)
- data 感兴趣的变量(data frame)
- Aesthetics x-axis/y-axis/color/fill/size/labels/alpha/shape/linear width/linear type 美学属性相关
- Geometries point/line/histogram/bar/boxplot 几何客体层
- Facets 最基本的层 columns /rows
- statistics 统计层 binning/smoothing/descriptive/inferential
- Coordinates 坐标系cartesian/fixed / polar /limits
- themes 主题
绘图函数
- qplot()
- 类似于Base系统的plot(),参数包含aesthetics/geom/facet…
- 隐藏了绘图实现的细节,灵活性欠佳
- ggplot()
- 是核心,可以实现qplot()无法实现的功能
- 调用ggplot()本身并不能实现绘图,要在其基础上添加层(如geom_point())才可以
- qplot()
R color
grDevice包
- colorRamp() & colorRampPalette()
- 颜色名字可使用colors()获取
RColorBrewer包
- 三类调色板:sequential/diverging/qualitative
- 调色板信息可与colorRamp/colorRampPalette结合使用
绘图思考
- 在哪里绘图(屏幕?文件?)
- 如何使用图(屏幕呈现?网页呈现?文章用图?)
- 用于绘图的数据量的大小?(向量格式 vs 位图)
- 是否需要动态调整图的大小?(向量格式 vs 位图)
- 用哪个绘图系统(Base /lattice /ggplot2)?一般三者不混用
阅读全文
0 0
- R绘图系统概要总结
- R 绘图系统
- Linux系统概要总结
- R绘图系统中的坐标系
- Linux系统内核概要总结
- R基本绘图总结(转载)
- R绘图
- R绘图
- r绘图
- R绘图
- Binder系统源码分析概要总结
- 硬件系统概要设计-1-工具软件总结
- R语言基础概要
- R语言绘图、高清保存、以及颜色系统
- 一个绘图的概要设计
- R语言绘图
- R语言绘图详解
- R--绘图基础
- [莫比乌斯反演+数状数组] BZOJ3529: [Sdoi2014]数表
- python高效过滤出文件夹下指定文件名结尾的文件
- Macaca之常见参数
- python logging 模块(一)
- TextView一些技巧
- R绘图系统概要总结
- 微信小程序特性:
- Oracle执行计划跟踪样例
- Spring项目开发小记3
- Android ADB
- Linux 下安装 NVIDIA 显卡驱动
- 完整的数据分析流程
- postman接口工具-Invalid URI "http:///%7B%7Burl%7D%7Dapi/document/getHelpDocumentUrl?appType=1"
- UnityEvent内存泄漏