Сетка из нескольких графиков ggplot2, которые были созданы в цикле for

как новый пользователь ggplot2, я немного потерял количество возможностей и изо всех сил пытаюсь найти в сети простой ответ на то, что я считаю простой проблемой.

Я хотел бы отобразить несколько графиков из ggplot2 на одном листе, НО зная, что эти графики взяты из цикла for.

Следующий пример не компилируется, он предназначен только для иллюстрации:

for(i in c(1:n)){                                   
  for(j in c(1:m)){
    ..........  # some data production
    p <- ggplot(df.all) + geom_bar(aes_string(x=class.names[i],fill=var.names[j])
}}

Здесь p перезаписывается, но я хотел бы вместо этого иметь матрицу или список, в которые я мог бы поместить все p по мере их создания, тогда простая функция наподобие

display_in_a_grid(list_of_ggplot_plots)

Но, насколько я пытался, мне не удалось ни составить список матриц графика, ни найти функцию, которая принимает только один аргумент для ввода.

О вещах, которые я видел:

"rangeGrob "из пакета gridExtra не работает, потому что требует явного имени для каждого графика (например: p1, p2, p3, ...), как в http://code.google.com/p/gridextra/wiki/arrangeGrob

"фасетный" метод ggplot2 не адаптирован для организации моего набора данных (или наоборот: p)

Не могли бы вы есть простой способ справиться с этим?

Спасибо,

François

24
задан Richie Cotton 14 January 2015 в 13:46
поделиться