R: Сделать линию сегментом с stat_summaryh - PullRequest
0 голосов
/ 08 октября 2019

Итак, у меня есть этот график, и моя цель - превратить vlines в сегменты, но я использую stat_summaryh.

Вот код:

library(ggplot2)
library(reshape2)
library(ggstance)
library(quantmod)

FANG1.t <- "TSLA"
FANG2.t <-"NVDA"
FANG3.t <- "BABA"
FANG4.t <- "BIDU"
FANG5.t <- "TWTR"
FANG6.t <-"FB"
FANG7.t <- "AAPL"
FANG8.t <- "AMZN"
FANG9.t <-"NFLX"
FANG10.t <- "GOOG"

start.date <- as.Date('2019-09-03')

comp_data <-c(FANG1.t,FANG2.t,FANG3.t,FANG4.t,FANG5.t,FANG6.t,FANG7.t,FANG8.t,FANG9.t,FANG10.t)

getSymbols(comp_data,src='yahoo',from = start.date)

FANG1.close <- get(FANG1.t)[,6]
FANG2.close <- get(FANG2.t)[,6]
FANG3.close <- get(FANG3.t)[,6]
FANG4.close <- get(FANG4.t)[,6]
FANG5.close <- get(FANG5.t)[,6]
FANG6.close <- get(FANG6.t)[,6]
FANG7.close <- get(FANG7.t)[,6]
FANG8.close <- get(FANG8.t)[,6]
FANG9.close <- get(FANG9.t)[,6]
FANG10.close <- get(FANG10.t)[,6]


FANG1.Adj <- data.frame(ROC(FANG1.close,n=1,type = 'discrete'))
FANG2.Adj <- data.frame(ROC(FANG2.close,n=1,type = 'discrete'))
FANG3.Adj <- data.frame(ROC(FANG3.close,n=1,type = 'discrete'))
FANG4.Adj <- data.frame(ROC(FANG4.close,n=1,type = 'discrete'))
FANG5.Adj <- data.frame(ROC(FANG5.close,n=1,type = 'discrete'))
FANG6.Adj <- data.frame(ROC(FANG6.close,n=1,type = 'discrete'))
FANG7.Adj <- data.frame(ROC(FANG7.close,n=1,type = 'discrete'))
FANG8.Adj <- data.frame(ROC(FANG8.close,n=1,type = 'discrete'))
FANG9.Adj <- data.frame(ROC(FANG9.close,n=1,type = 'discrete'))
FANG10.Adj <- data.frame(ROC(FANG10.close,n=1,type = 'discrete'))

FANG.frame <- data.frame(FANG1.Adj,FANG2.Adj,FANG3.Adj,FANG4.Adj,FANG5.Adj,FANG6.Adj,FANG7.Adj,FANG8.Adj,FANG9.Adj,FANG10.Adj)

FANG.frame <- melt(FANG.frame)


kg <- ggplot(FANG.frame,aes(x=value))+
  geom_area(stat = 'density',fill = 'dark red')+
  stat_summaryh(fun.x = mean,geom='vline',aes(xintercept=..x..,y=0),color='black',size=1)+
  stat_summaryh(fun.x = sd,geom='vline',aes(xintercept=..x..,y=0),color='black',lty = 6)+
  facet_wrap(.~variable)

Итак, то, что делает stat_summaryh, делает так, чтобы оно показывало среднее значение и sd каждого отдельного запаса в их соответствующих аспектах. Но как мне сделать так, чтобы был линейный сегмент , а линии начинались с 0 и заканчивались, скажем, 20?

Спасибо за ваше время, независимо от ваших возможностей ответа.

...