R语言实战笔记–第十六章 高级图形进阶
标签(空格分隔): R语言 lattice 交互式图形
图形系统简介
本文为R语言实战中最后一章,介绍的是图形的高级进阶,主要讲述了两个包(lattice和ggplot2)以及交互式图形的做法,极大扩展了R的绘图功能,R中的图形系统主要有四种,base、grid、lattice和ggplot2。
base不需要加载,直接可以使用,之前几乎所有的统计绘图都使用了这个包;grid需要手动加载,但因这个包并没有统计图形,因此书中没有介绍这个包的使用;lattice需要手动加载,它和前面两个包都是预装在R中,并不需要安装,直接加载即可,它提供栅栏图形的绘制;ggplot2包需要先安装,然后第一使用时先加载,提供一个全面的、基于语法的、连贯一致的图形生成系统,允许用户创建新颖的、有创新性的数据可视化图形。
本书介绍的是后两个包。
lattice包
使用介绍
先看一下函数的使用方式
graph_function(formula,data=,options)
graph_function:lattice包中的绘图函数;
formula:图形公式,和绘图函数一起由下表给出;
data:数据框
options:以逗号分隔的参数,由第二个一给出。
表1:绘图函数及绘图公式
注:表中小写字母代表数值变量,大字字母代表类别型变量
图形类型 | 函 数 | 表达式示例 |
---|---|---|
三维等高线图 | contourplot() | z ~ x*y |
三维水平图 | levelplot() | z ~ y*x |
三维散点图 | cloud() | z ~x*y|A |
三维线框图 | wireframe() | z~y*x |
条形图 | barchart() | x ~ A或A ~ x |
箱线图 | bwplot() | x ~ A或A ~ x |
点图 | dotplot() | ~ x|A |
直方图 | histogram() | ~ x |
核密度图 | densityplot() | ~ x|A*B |
平行坐标图 | parallel() | dataframe |
散点图 | xyplot() | y ~ x|A |
散点图矩阵 | splom() | dataframe |
带状图 | stripplot() | A ~ x或x ~ A |
表2:常见参数选项(options)
选 项 | 描 述 |
---|---|
aspect | 数值,设定每个面板中图形的宽高比 |
col、pch、lty、lwd | 向量,分别设定图形中的颜色、符号、线条类型和线宽 |
Groups | 用来分组的变量(因子) |
index.cond | 列表,设定面板的展示顺序 |
key(或auto.key) | 函数,添加分组变量的图例符号 |
layout | 两元素数值型向量,设定面板的摆放方式(列数和行数);如有需要,可以添加第三个元素,以指定页数,注意,是列数和行数,即layout=c(列数,行数) |
Main、sub | 字符型向量,设定主标题和副标题 |
Panel | 函数,设定每个面板要生成的图形 |
Scales | 列表,添加坐标轴标注信息 |
Strip | 函数,设定面板条带区域 |
Split、position | 数值型向量,在一页上绘制多幅图形 |
Type | 字符型向量,设定一个或多个散点图的绘图参数(如p=点、l=线、r=回归、smooth=平滑曲线、g=格点 |