Getting legend from chart to chart.TimeSeries in R

Suppose I have the following data:

data<- structure(c(103.7, 103.2, 103.1, 105.4, 102.1, 103.5, 103.1, 
            102.6, 102.2, 104.6, -2.1, -1.4, -2.6, 1.9, -0.7, 1.4, -0.6, 
            -1.3, -1.4, 0, -25.3, -25.3, -25.3, -24.9, -24.7, -24.5, -21.4, 
            -20.9, -20.4, -19.8, 25, 20.7, 25.5, 19.8, 12.8, 13.6, 15.5, 
            23, 12.8, 16.3, -16.1, -20.1, -16.9, -17.8, -18.6, -19.5, -16.4, 
            -18.9, -16.1, -15.1), .Dim = c(10L, 5L), .Dimnames = list(NULL, 
             c("Edinburgh", "Glasgow", "Aberdeen", "St Andrews", 
             "Highlands")), .Tsp = c(1985, 1985.75, 12), class = c("mts", 
             "ts", "matrix"))

      

I realized that the most appropriate way to construct my data is using a function chart.TimeSeries

from a package PerformanceAnalytics

. I did it using:

chart.TimeSeries(data, legend.loc = "right")

      

and I got:

enter image description here

My question is how to get the legend outside of the plot on the right. I even tried to reproduce the same diagram using ggplot

, but was unable.

+3


source to share


1 answer


Try the following:

chart.TimeSeries(data, legend.loc = NULL)

      



Then add a custom legend:

legend(20,10, c("Edinburgh","Glasgow", "Aberdeen", "St Andrews", "Highlands"),
lty=c(1,1), lwd=c(2.5,2.5), col=c("black", "red", "green", "deepskyblue", "blue"))

      

0


source







All Articles