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=平滑 |