當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。