R中的chart.TimeSeries中的图例
Posted
技术标签:
【中文标题】R中的chart.TimeSeries中的图例【英文标题】:Getting legend out of the plot in chart.TimeSeries in R 【发布时间】:2015-08-12 04:51:26 【问题描述】:假设我有以下数据:
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"))
我发现绘制数据最合适的方法是使用 PerformanceAnalytics
包中的 chart.TimeSeries
函数。我是这样做的:
chart.TimeSeries(data, legend.loc = "right")
我得到了:
我的问题是如何将图例之外的图例移到右侧。我什至尝试使用ggplot
重现相同的图表,但失败了。
【问题讨论】:
使用legend.loc = NULL
,然后使用legend
函数添加自定义图例。
@TimBiegeleisen 我试过这个,但出现了一个问题,我怎样才能让图例使用chart.TimeSeries
生成的相同图表颜色。
【参考方案1】:
试试这个:
chart.TimeSeries(data, legend.loc = NULL)
然后添加自定义图例:
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"))
【讨论】:
这将从图中删除图例,但我仍然需要它。我只需要在右侧但在情节之外的相同图例。 这对你有用吗?即使调整了x
和y
坐标,我似乎也无法正常工作。以上是关于R中的chart.TimeSeries中的图例的主要内容,如果未能解决你的问题,请参考以下文章