将我的评论包装成正确的答案。目前尚不清楚您是希望将其设为单个图(使用facet_wrap
)还是将多个图组合到一个窗口中。使用时,使用长格式ggplot2
是有益的data.frame
,因为可以让基于类似于以下示例的分组列处理所有着色和分组ggplot
library(ggplot2)
data(mtcars)
ggplot(mtcars, aes(x = mpg, y = hp, col = factor(cyl))) +
geom_point() +
geom_smooth() +
labs(col = 'Nmb. Cylinder')
从这里开始,指南给出了每种颜色的名称,scale_*_(manual/discrete/continuous)
并可用于更改特定的调色板(例如scale_colour_discrete
,可用于更改因子的调色板)。
在组合 ggplots 时,该patchwork
包提供了简单的界面。如果我们假设您有一个向量和tickers
,我们可以分别创建一个图列表并使用简单的加法 ( ) 将它们组合起来。titles
colors
+
library(purrr)
plots <- vector('list', n <- length(tickers))
base <- ggplot(Stocks, aes(x = Date)) +
theme_gray()
for(i in seq_len(n)){
plots[[i]] <- base +
geom_point(aes_string(y = tickers[i]), col = colors[i])
geom_line(aes_string(y = tickers[i]), col = colors[i])
ggtitle(titles[i])
}
reduce(plots, `+`)
然而,对于股票来说,第一种选择可能会产生更好的结果。