图例中未显示图例

时间:2018-05-14 12:10:32

标签: r

我试图建立股票价格图,但我遇到了困难。虽然我已正确返回代码,但我的图例未显示在图表中。我是R的新手,所以我找不到任何错误。

这是我的代码

library(quantmod)
library(dplyr)
library(PerformanceAnalytics)

tickers <- c("AAPL", "AMZN" , "MSFT" ,"FB")

portfolioPrices <- NULL
  for (Ticker in tickers)
      portfolioPrices <- cbind(portfolioPrices,
                       getSymbols.yahoo(Ticker, from="2017-01-01", 
   periodicity = "weekly", auto.assign=FALSE)[,4])


  portfolioPrices <- portfolioPrices[apply(portfolioPrices,1,function(x) all(!is.na(x))),]

  colnames(portfolioPrices) <- tickers

   plot(portfolioPrices, legend = tickers)


   scaledData <- scale(portfolioPrices)
   plot(scaledData, legend = tickers)

这是我的图enter image description here

我希望这些代号可以作为传说,但它并没有显示出来。帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试使用如下所示的addLegend命令,它应该可以工作(附件是我桌面的结果):

plot(portfolioPrices)
addLegend("topleft", on=0, 
          legend.names = tickers, 
          lty=c(1, 1,1,1), lwd=c(1, 1,1,1)
          )

来自文档:

  

addLegend(legend.loc =“topright”,legend.names = NULL,col = NULL,
  ncol = 1,on = 0,...)

legend.loc

  

legend.loc将图例放入图表上的九个位置之一:   bottomright,bottom,bottomleft,left,topleft,top,topright,right,   或中心。

legend.names

  

图例的名称字符向量。如果为NULL,则列名为   使用当前的绘图对象。

col

  

填充图例的颜色。如果为NULL,则为当前图的colorset   使用对象数据。

ncol

  

图例的列数

  

要绘制的面板编号。如果输入= NA,将绘制一个新面板。该   default,on = 0,将添加到活动面板。活动面板是   定义为执行最近操作的面板。   请注意,仅检查on的第一个元素是否为默认值   要添加到上一个活动面板的行为。

<强>输出:

enter image description here