问题描述
在一台机器上,plot.xts 在两列中正确显示数据:
On one machine, plot.xts correctly displays data in two columns:
另一方面,事情看起来非常不同:
On another, things look very different:
两者的代码是一样的:
library(zoo)
library(xts)
library(xtsExtra)
sessionInfo()
timezone = "UTC"
Sys.setenv(TZ=timezone)
sampleData = "Time (UTC),CPU,Runqueue,Blocked,MemoryFree,PageIns,ContextSwitches,Wait,Steal
2014-10-15 16:12:11,20,0,0,12222172,0,2549,0,0
2014-10-15 16:12:12,27,1,0,12220732,0,3619,0,0
2014-10-15 16:12:13,30,0,0,12220212,0,2316,0,0"
data = as.xts(read.zoo(text=sampleData, format="%Y-%m-%d %H:%M:%S", header=TRUE, sep=",", tz=timezone))
plot.xts(data, main="Title", minor.ticks=FALSE, yax.loc="left", auto.grid=TRUE, nc=2)
成功机器的输出:
> library(zoo)
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
> library(xts)
> library(xtsExtra)
Attaching package: ‘xtsExtra’
The following object is masked from ‘package:xts’:
plot.xts
> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-redhat-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] xtsExtra_0.0-1 xts_0.9-7 zoo_1.7-11
loaded via a namespace (and not attached):
[1] grid_3.1.2 lattice_0.20-29
... The rest are just commands, no warnings/errors...
故障机器的输出:
> library(zoo)
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
> library(xts)
> library(xtsExtra)
Attaching package: 'xtsExtra'
The following object is masked from 'package:xts':
plot.xts
> sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-redhat-linux-gnu (64-bit)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] xtsExtra_0.0-1 xts_0.9-7 zoo_1.7-11
loaded via a namespace (and not attached):
[1] grid_3.1.2 lattice_0.20-29
... The rest are just commands, no warnings/errors...
成功的机器是本地的,失败的机器是远程的,export DISPLAY=${IP}:0
到成功的机器.
The successful machine is local and the failing machine is remote with export DISPLAY=${IP}:0
to the successful machine.
为什么 R xts 图只显示 nc=2 的单列?
Why does R xts plot only show a single column with nc=2?
推荐答案
正如 https://stackoverflow.com/a 中提到的 bergant/28571442/1293660,这是xtsExtra的一个bug.经过二分查找,修订版#850 是最新版本:
As bergant mentioned in https://stackoverflow.com/a/28571442/1293660, this is a bug in xtsExtra. After a binary search, revision #850 is the latest version that works:
$ svn checkout --revision 850 svn://svn.r-forge.r-project.org/svnroot/xts/
$ R
> install.packages("xts/pkg/xts", repos=NULL, type="source")
> install.packages("xts/pkg/xtsExtra", repos=NULL, type="source")
这篇关于为什么 R xts 图只显示 nc=2 的单列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!