Итак, я создал сюжет с несколькими легендами, но из-за обстоятельств я хотел бы сделать их в другом месте и чтобы легенда линии не имела такой толстой границы.
Вот код:
asset <- "JP-Morgan"
ticker <- "JPM"
start.date <- as.Date('2007-09-01')
# Import the Data
getSymbols(ticker, src='yahoo', from=start.date)
# string), and index the sixth column, which corresponds Adjusted Close values
Adj.Close <- get(ticker)[,6]
daily.ret2 <- ROC(Adj.Close, n=1, type='discrete')
mo.12 <- as.Date((as.numeric(Sys.Date())-365))
# Subset by 2011 on
daily.ret2 <- daily.ret2['2011/']
# Rename column so that it is not asset-specific
names(daily.ret2) <- 'Daily'
# Convert to data frame and add a column for dates
daily.ret2.df<- data.frame(year=format(time(daily.ret2),'%Y'),
daily.ret2,
times = format(time(daily.ret2),'%Y-%m-%d'))
daily.ret2.mo <- daily.ret2[paste0(mo.12,'/'),1]
daily.ret2.12 <- data.frame(year=' Last 12 Months',daily.ret2.mo)
den.y.fr <- round(sd(daily.ret2.12$Daily)*-2,digits = 3)
den.y.to <- round(sd(daily.ret2.12$Daily)*2,digits = 3)
den.y.by <- round(sd(daily.ret2.12$Daily),digits = 3)
# All densities on one plot (kerel-smoothed) ####
kernal.dens <- ggplot(daily.ret2.df, aes(x=Daily,color = year))+
geom_density(data = filter(daily.ret2.df, year != 2019),adjust=2, size=1, show.legend = T)+
geom_density(data = daily.ret2.12,adjust=2, size=1.75, show.legend = T)+
geom_segment(aes(x = sd(daily.ret2.12$Daily),xend = sd(daily.ret2.12$Daily),
yend = 5,y = 0,lty='s of YoY'),color = "blue",size = .5)+
geom_segment(aes(x = sd(daily.ret2.12$Daily)*2,xend = sd(daily.ret2.12$Daily)*2,
yend = 5,y = 0,lty='s of YoY'),color = "blue",size = .5)+
geom_segment(aes(x = sd(daily.ret2.12$Daily)*-1,xend = sd(daily.ret2.12$Daily)*-1,
yend = 5,y = 0,lty='s of YoY'),color = "blue",size = .5)+
geom_segment(aes(x = sd(daily.ret2.12$Daily)*-2,xend = sd(daily.ret2.12$Daily)*-2,
yend = 5,y = 0,lty='s of YoY'),color = "blue",size = .5)+
scale_color_manual(values=c( "black", '#3A8026', "#7F8931", "#C4933D","#C47422", "#C45608",
"#B12F08", "#9E0808", "#80262D"),
labels = c(' Last 12 Months ',' 2011 ',' 2012 ',' 2013 ',' 2014 ',' 2015 ',' 2016 ',
' 2017 ',' 2018 '))+
scale_x_continuous(breaks = seq(-.1,.1,.05),
labels = paste0(seq(-.1,.1,.05)*100,'%'))+
scale_y_continuous(breaks = seq(0,50,5))+
scale_linetype_manual('segment legend',values = c('s of YoY'=4))+
labs(x='\nReturn\n',y='Density\n',title=paste0(asset, ' Daily Return Densities\n'))+
theme(plot.title=element_text(hjust=.5,size=44-max(0,nchar(asset)-6),face='bold'),
axis.text=element_text(size=20,color='black',face='bold'),
axis.title=element_text(size=28,color='black',face='bold'),
legend.text=element_text(size=18,color='black',face='bold'),
legend.title=element_blank(),
legend.position = 'bottom',
plot.margin=unit(c(1,1,1,1),"cm"))
До сих пор я пытался добавить две функции темы, но это не сработало, и добавлял указания непосредственно в scale_line_manual
. Любые другие идеи о том, что может работать?
СпасибоВы за свое время, независимо от вашей способности помочь.