2013-08-19 3 views
3

У меня возникли проблемы с добавлением некоторого текста в график данных временных рядов в R, используя xts. Я привел простой пример проблемы.Текст, не отображающийся на графике XTS

Команда text(), кажется, ничего не делает, тогда как я могу добавить точки к сюжету. Я пытался сохранить код простым, используя значения по умолчанию, где это возможно

require(quantmod) 

# fetch the data and plot it using default options 
getSymbols('MKS.L') 
plot(MKS.L$MKS.L.Close) 

# try to add text - doesn't appear 
text(as.Date('2012-01-01'),y=500,"wobble", cex=4) 

# add a point - this does appear 
testPos <- xts(600, as.Date('2012-01-01')) 
points(testPos, pch = 3, cex = 4, col = "red") 

Любая помощь приветствуется - Я довольно новыми для R, и я проводил часы на этом!

ответ

3

Не прямой ответ, но функция plot.xts, которая поставляется с пакетом xts, не полностью разработана.

Вы гораздо лучше использовать plot.zoo или plot.xts из xtsExtra пакета (который был написан в Google Summer Кодекса проекта с целью того, чтобы свернуть его в пакет XTS)

Любой из них будет работать :

plot(as.zoo(MKS.L$MKS.L.Close)) 
text(as.Date('2012-01-01'),y=500,"wobble", cex=4) 

#install.packages("xtsExtra", repos="http://r-forge.r-project.org") 
xtsExtra::plot.xts(MKS.L$MKS.L.Close) 
text(as.Date('2012-01-01'),y=500,"wobble", cex=4) 
+0

Когда я использую 'xtsEstra :: plot.xts' или' plot.zoo', тогда я получаю текст, отображаемый на графике, который велик. Использование 'plot.xts' не производит никаких изменений, которые, как я полагаю, следует ожидать, поскольку я предполагаю, что вызов графика делегирован' plot.xts'. Однако с 'xtsEstra :: plot.xts' и' plot.zoo 'методы теперь' point() 'call down down ничего не рисуют? – JohnO

+0

@JohnO 'points (as.Date (" 2012-01-01 "), 600, pch = 3, cex = 4, col =" red ")' – GSee

+0

Этот вызов 'points' работает, спасибо. Я возился с различными вызовами «сюжет», и я получаю очень странные результаты. Оба вызова 'plot (as.zoo (...))' и 'plot.zoo (...)' всегда работают, насколько это хорошо. Однако вызовы 'plot.xts (...)' и 'xtsEstra :: plot.xts (..)' не работают в чистой среде (например, новый экземпляр R), но они работают после выполнения 'plot (as.zoo (...))' или 'plot.zoo (...)' вызов в среде ... странный! Во всяком случае, мораль этой истории используется либо «plot (as.zoo (...))», либо «plot.zoo (...)». Еще раз спасибо. – JohnO