首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中时间序列图的传说

R中时间序列图的传说
EN

Stack Overflow用户
提问于 2021-12-17 00:42:45
回答 1查看 56关注 0票数 1

我如何在下面的情节中添加传说?

代码语言:javascript
复制
library(quantmod)
library(PerformanceAnalytics)
library(imputeTS)
library(PortfolioAnalytics)

tickers <- c("FB", "AAPL", "AMZN", "NFLX")
weights <- c(.25, .25, .25, .25)

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

plot(portfolioPrices, legend = tickers)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 02:53:57

如果将portfolioPrices转换为dataframe,然后分别添加每一行,则可以添加一个图例。

下面的代码没有创建最好看的情节/图例,但您可以通过使用图例/绘图参数来改进它。

此外,可以使用循环而不是硬编码来添加行。

代码语言:javascript
复制
library(quantmod)
library(PerformanceAnalytics)
library(imputeTS)
library(PortfolioAnalytics)

tickers <- c("FB", "AAPL", "AMZN", "NFLX")
weights <- c(.25, .25, .25, .25)

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


plot(
  x = as.Date(rownames(portfolioPrices)),
  portfolioPrices$FB.Close,
  col = "black",
  type = "l",
  ylim = c(min(portfolioPrices), max(portfolioPrices)),
  main = "Stocks",
  xlab = "Date",
  ylab = "Price"
)
lines(x = as.Date(rownames(portfolioPrices)),
      portfolioPrices$AAPL.Close,
      col = "blue")
lines(x = as.Date(rownames(portfolioPrices)),
      portfolioPrices$AMZN.Close,
      col = "green")
lines(x = as.Date(rownames(portfolioPrices)),
      portfolioPrices$NFLX.Close,
      col = "red")

legend(
  "topleft",
  legend = tickers,
  col = c("black", "blue", "green", "red"),
  cex = 0.5,
  lwd = 2
)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70387245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档