我正在寻找一种在xts中将文本(可能是垂直的)放在abline上的方法,但是我似乎不能定义将文本放在哪里(但是,我可以定义abline):
require(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')
for (i in 1:dim(sample.xts)[2]){
cat(paste("\n",i))
plot((tail(sample.xts[,i],10)), main=paste("column" ,i))
print(lines(x = tail(sample.xts[,i],10), col = "darkgreen", lty=2, on=1))
abline(v=.index(last(sample.xts[-dim(sample.xts)[1],])), col="red",lty=3)
# text( here possibly some vertical text)
}编辑:代码现在是可重现的。我需要一种方法来放置文本与时间索引,而不是一个数字(或找出正确的数字)有什么建议?提前感谢!
发布于 2017-03-17 21:04:22
CRAN上的xts版本目前是0.9-7。使用该版本时,您需要使用text()和srt参数来添加和旋转文本。如果在定义位置时遇到问题,可以将鼠标与locator()函数一起使用,以交互方式查找坐标。
# Using xts 0.9-7
require(xts)
data(sample_matrix)
x <- tail(as.xts(sample_matrix, dateFormat = "Date"), 10)[,1]
plot(x)
lines(x, col = "darkgreen", lty=2)
v <- last(.index(x)[-nrow(x)])
abline(v = v, col = "red", lty = 3)
text(v, max(x), "label", pos = 2, srt = 90)

发布于 2017-03-13 18:26:31
由于您的代码不可重现,因此我使用的是内置数据集。对于90度旋转,您可以使用以下方法:
attach(mtcars)
plot(mpg ~ hp)
abline(v = 170)
text(x = 180, y = 25, label = "Your text here!", srt = 90)https://stackoverflow.com/questions/42761144
复制相似问题