2015-06-09 2 views
1

У меня есть n участки, которые я хочу отобразить в сетке одним изображением в R. Используя par Я могу заранее указать количество строк и столбцов для разделения участка. Например, для n = 4 имеет смысл организовать 4 графика в квадратной сетке 2x2.Логическая группировка произвольного числа графиков в R

par(mfrow=c(2,2)) 
plot(p1) 
plot(p2) 
plot(p3) 
plot(p4) 

Я хотел бы, чтобы это работало для произвольного n, однако. Так, например, допустим, я хочу построить 12 сюжетов бок о бок. Самое практичное, что результирующая сетка графиков будет как можно более квадратной: так что я бы хотел получить сетку 3x4 par(mfrow=c(3, 4)), а не 12x1 par(mfrow=c(12, 1)). Или, если я хочу построить 11 участков, оставив 12-ю пустую сетку, все будет хорошо.

Есть ли быстрый способ сделать это в R? В противном случае, я полагаю, мне нужно сделать некоторую алгебру - это проблема оптимизации, сводящая к минимуму периметр сетки при фиксированной области n.

ответ

0

Для nplots участков, как о:

rows = floor(sqrt(nplots)) columns = ceiling(sqrt(nplots)) par(mfrow=c(rows,columns))

Смежные вопросы