首页 > 解决方案 > grid.arrange 用于绘图列表

问题描述

使用 grid.arrange 时出现以下错误:

错误:美学必须是长度1或与数据相同(3):x,y

请参阅下面的示例数据。我需要为 Security_Ticker 列中的每个值创建一个图表,其中 x = Period 和 y = Price 并在一个面板中显示所有图表,其中连续四个图表。

df <- read.table(text = "Security_Ticker  Period  Price
                 aapl 201901  100
                 goog 201902  200
                 nvda 201901  150
                 aapl 201902  110
                 goog 201903  220
                 nvda 201902  155
                 aapl 201903  250
                 goog 201904  280", header =TRUE)

df.splitted= split(df,df$Security_Ticker)
plot_list = list()

for(i in 1:length(df.splitted)){
  p <- ggplot(data=df.splitted[[i]],aes(x=df.splitted[[i]][[2]], y=df.splitted[[i]][[3]])) + geom_line() + ggtitle(df.splitted[[i]][[1]][1]) 
  plot_list[[i]] = p
  print(p)
}

grid.arrange(plot_list,ncol=4)

我需要在一个面板中打印 plot_list 中的所有图表,其中连续 4 个图表,但出现以下错误:错误:美学必须是长度 1 或与数据相同 (3):x,y

我知道它应该很容易修复,但我没有这方面的经验。

标签: rggplot2

解决方案


推荐阅读