当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R xyplot.ts 时间序列绘图方法


R语言 xyplot.ts 位于 lattice 包(package)。

说明

此函数处理时间序列绘图,包括cut-and-stack 绘图。给出了叠加、并置和设置不同时间序列样式的示例。

用法

## S3 method for class 'ts'
xyplot(x, data = NULL,
       screens = if (superpose) 1 else colnames(x),
       ...,
       superpose = FALSE,
       cut = FALSE,
       type = "l",
       col = NULL,
       lty = NULL,
       lwd = NULL,
       pch = NULL,
       cex = NULL,
       fill = NULL,
       auto.key = superpose,
       panel = if (superpose) "panel.superpose"
               else "panel.superpose.plain",
       par.settings = list(),
       layout = NULL, as.table = TRUE,
       xlab = "Time", ylab = NULL,
       default.scales = list(y = list(relation =
           if (missing(cut)) "free" else "same")))

参数

x

ts 的对象,可能是 multi-variate,即具有多列的矩阵结构。

data

未使用,必须保留为 NULL

...

传递给 xyplot 的其他参数,这可能会将它们传递给 panel.xyplot

screens

因子(或强制因子),其级别指定每个系列要在哪个面板中绘制。screens = c(1, 2, 1) 将在面板 1、2 和 1 中绘制系列 1、2 和 3。也可以是命名列表,请参阅下面的详细信息。

superpose

将所有系列覆盖在一个面板中(通过 screens = 1 )并使用分组样式设置(来自 trellis.par.get("superpose.line") 等)。请注意,这只是一个方便参数:它的唯一操作是更改其他参数的默认值。

cut

定义cut-and-stack图。 cut 可以是函数 equal.count 的参数 list ,即 number (要划分的间隔数)和 overlap (切割之间重叠的分数,默认 0.5)。如果 cut 是数字,则它将作为 number 参数传递。

cut = TRUE 尝试使用 banking 并假设正方形绘图区域来选择适当的切割次数(最多 6 次)。当 aspect = "xy" 时,这应该具有最小化浪费空间的效果。

type , col , lty , lwd , pch , cex , fill

图形参数,经过处理并最终传递给 panel.xyplot 。这些参数也可以是向量或(命名)列表,请参阅详细信息以获取更多信息。

auto.key

逻辑或说明如何绘制 key 的列表。请参阅 xyplot 中的 auto.key 条目。这里的默认设置是绘制线,而不是点,并且任何指定的样式参数都应该自动显示。

panel

面板函数。建议不要管它,但可以传递 panel.groups 参数,该参数由每个系列的 panel.superpose 处理。

par.settings

超出标准的样式设置 colltylwd 等;请参阅trellis.par.setsimpleTheme

layout

长度为 2 的数值向量,指定图中的列数和行数。默认情况下,列最多填充 6 行。

as.table

从上到下绘制面板。顺序由 x 中的列顺序决定。

xlab , ylab

X轴和Y轴标签;请参阅xyplot。特别注意,ylab 可能是字符向量,在这种情况下,标签间隔相等,以对应于面板;但请注意,在这种情况下,向量应该反转或参数 as.table 设置为 FALSE

default.scales

scales 规范。默认设置为具有 "free" Y 轴刻度,除非给出 cut。请注意,用户应传递 scales 参数而不是 default.scales

细节

对于多元序列来说,多个图形参数的处理更加灵活。这些参数可以是与绘制的系列数量相同长度的向量,或者如果更短则被回收。它们也可以是(部分)命名列表,例如 list(A = c(1,2), c(3,4)) 其中 c(3, 4) 是默认值,而 c(1, 2) 仅适用于系列 A 。可以以类似的方式指定screens 参数。

下面给出一些示例。

"trellis" 的对象。 update 方法可用于更新对象的组件,print 方法(通常默认调用)会将其绘制在适当的绘图设备上。

例子

xyplot(ts(c(1:10,10:1)))

### Figure 14.1 from Sarkar (2008)
xyplot(sunspot.year, aspect = "xy",
       strip = FALSE, strip.left = TRUE,
       cut = list(number = 4, overlap = 0.05))

### A multivariate example; first juxtaposed, then superposed
xyplot(EuStockMarkets, scales = list(y = "same"))
xyplot(EuStockMarkets, superpose = TRUE, aspect = "xy", lwd = 2,
    type = c("l","g"), ylim = c(0, max(EuStockMarkets)))

### Examples using screens (these two are identical)
xyplot(EuStockMarkets, screens = c(rep("Continental", 3), "UK"))
xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"))

### Automatic group styles
xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"),
    superpose = TRUE)

xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"),
    superpose = TRUE, xlim = extendrange(1996:1998),
    par.settings = standard.theme(color = FALSE))

### Specifying styles for series by name
xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"),
    col = list(DAX = "red", FTSE = "blue", "black"), auto.key = TRUE)

xyplot(EuStockMarkets, screens = list(FTSE = "UK", "Continental"),
    col = list(DAX = "red"), lty = list(SMI = 2), lwd = 1:2,
    auto.key = TRUE)

### Example with simpler data, few data points
set.seed(1)
z <- ts(cbind(a = 1:5, b = 11:15, c = 21:25) + rnorm(5))
xyplot(z, screens = 1)
xyplot(z, screens = list(a = "primary (a)", "other (b & c)"),
  type = list(a = c("p", "h"), b = c("p", "s"), "o"),
  pch = list(a = 2, c = 3), auto.key = list(type = "o"))

作者

Gabor Grothendieck, Achim Zeileis, Deepayan Sarkar and Felix Andrews felix@nfrac.org.

The first two authors developed xyplot.ts in their zoo package, including the screens approach. The third author developed a different xyplot.ts for cut-and-stack plots in the latticeExtra package. The final author fused these together.

参考

Sarkar, Deepayan (2008) Lattice: Multivariate Data Visualization with R, Springer. http://lmdvr.r-forge.r-project.org/ (cut-and-stack plots)

也可以看看

zoo 包中的 xyplotpanel.xyplotplot.tstsxyplot.zoo

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Time series plotting methods。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。