R 使用quantmod绘制正方形折线图
有没有办法让quantmod画一个正方形的折线图 我试图修改我的时间序列,以便每个数据点在下一个数据点之前复制一秒钟(希望这将近似于一条正方形线),但quantmod似乎在x轴上按顺序均匀地复制数据,而不考虑x的实际值(即,无论delta-T是1秒还是1分钟,一个点与下一个点之间的水平空间都是相同的) 我想我可以将我的时间序列从稀疏转换为密集(每秒一个条目,而不是每次值更改一个条目),但这似乎非常困难,应该是不必要的 我在构建我的时间序列,因此:R 使用quantmod绘制正方形折线图,r,quantmod,R,Quantmod,有没有办法让quantmod画一个正方形的折线图 我试图修改我的时间序列,以便每个数据点在下一个数据点之前复制一秒钟(希望这将近似于一条正方形线),但quantmod似乎在x轴上按顺序均匀地复制数据,而不考虑x的实际值(即,无论delta-T是1秒还是1分钟,一个点与下一个点之间的水平空间都是相同的) 我想我可以将我的时间序列从稀疏转换为密集(每秒一个条目,而不是每次值更改一个条目),但这似乎非常困难,应该是不必要的 我在构建我的时间序列,因此: library(quantmod) myNum
library(quantmod)
myNumericVector <- c(3,7,2,9,4)
myDateTimeStrings <- paste("2011-10-31", c("5:26:00", "5:26:10", "5:26:40", "5:26:50", "5:27:00"))
myXts <- xts(myNumericVector, order.by=as.POSIXct(myDateTimeStrings))
为了说明我所拥有的和我想要的,结果看起来像下面的蓝线,但我想要更像绿色的东西:
此外,出于好奇,以下代码复制时间序列中的点,以使一个值和下一个值之间的差距尽可能小:
mySquareDateTimes <- rep(as.POSIXct(myDateTimeStrings),2)[-1]
mySquareDateTimes[seq(2,8,by=2)] <- mySquareDateTimes[seq(2,8,by=2)] - 1
mySquareXts <- xts(rep(myNumericVector,each=2)[-10], order.by=mySquareDateTimes)
chartSeries(mySquareXts, type="line", show.grid="true", theme=chartTheme("black"))
mySquareDateTimes您需要行。键入的“步骤”:
请参见参数部分的?绘图
,特别是…
下的“type”(您可能需要“S”而不是“S”)。请提供一个(即,我们不知道myNumericVector
包含什么)。使示例可复制。
mySquareDateTimes <- rep(as.POSIXct(myDateTimeStrings),2)[-1]
mySquareDateTimes[seq(2,8,by=2)] <- mySquareDateTimes[seq(2,8,by=2)] - 1
mySquareXts <- xts(rep(myNumericVector,each=2)[-10], order.by=mySquareDateTimes)
chartSeries(mySquareXts, type="line", show.grid="true", theme=chartTheme("black"))
chartSeries(myXts, line.type="s")