Я рисую свои данные в R, но легенды там нет, хотя я набрал в командной строке - PullRequest
1 голос
/ 09 июня 2019

Я строю свои данные, но легенда не появляется.Я включил командную строку легенды и не могу найти никакого решения, так как считаю команду правильной.

Я использую данные фондового рынка.

library(quantmod)
library(TTR)
tckrs<-c("GOOG","FB")
getSymbols(tckrs,from="2019-01-01")
AdG<-Ad(GOOG)
AdF<-Ad(FB)
DrG<-dailyReturn(AdG)[-1,]
DrF<-dailyReturn(AdF)[-1,]
portfolio<-cbind(DrG,DrF)
colnames(portfolio)
names(portfolio)[1]<-"DrG"  
names(portfolio)[2]<-"DrF"  

tsRainbow<-rainbow(ncol(portfolio))
plot(x=portfolio,ylab="Return",main="Portfolio Returns (Single)",col=tsRainbow,screens=1)  
legend(x="bottom",legend=c("GOOG","FB"),lty=1,col=tsRainbow)

#I also tried

myColors<-c("red","darkgreen")
plot(x=portfolio[,"DrG"],xlab="Time",ylab="Stock Returns",main="Stock Returns",ylim=c(-0.15,0.1),major.ticks= "years",minor.ticks=FALSE,col="red")
lines(x=portfolio[,"DrF"],col="darkgreen")
legend(x="bottom",legend=c("DrG","DrF"),lty=1,col=myColors)

Сюжет действительно приходитиз этих двух команд нет никакой легенды.

1 Ответ

0 голосов
/ 09 июня 2019

Проблема в том, что пакет xts делает странные вещи на своих графиках.Вы должны позвонить addLegend вместо legend.Например, замените вызов legend на

addLegend("bottom", c("GOOG", "FB"), lty=1, lwd=c(2,1), 
          col = c("red", "darkgreen"), bty="o")

screen shot

...