Включить неиспользуемые уровни факторов в фасеты с ggplot2 - PullRequest
3 голосов
/ 18 февраля 2011

Есть ли способ включить панель для неиспользуемых уровней фактора, используемого в фацетировании?

Причина, по которой я хочу это сделать, заключается в том, что я размещаю несколько отдельных графиков в строках, показывающих разные меры, скаждая строка имеет одинаковое количество facet_grid панелей в столбцах.Каждый график должен быть выстроен по столбцу.

Но если в данных для одной из строк отсутствуют данные для определенного уровня фасета, число панелей будет другим, и столбцы не будут выстроены в линию.Например, обратите внимание, что в последней строке отсутствует панель «Математика II»:

Пример графика http://dl.dropbox.com/u/14792859/ggplot2%20facet%20levels.png

Единственный обходной путь, о котором я могу подумать, - это включить фиктивную точку данныхдля любых пропущенных уровней фасетов, но я хотел бы услышать, что есть более простой / чистый способ.

1 Ответ

3 голосов
/ 23 февраля 2011

Как упоминал Бен Болкер, это похоже на ошибку в ggplot2, вызванную ошибкой в ​​plyr. Это должно быть исправлено в следующей версии Plyr 1.5.

Тем временем я обошел проблему, создав отдельный график и используя facet_grid со строками, определяющими различные меры, которые будут нанесены на график. Проблема в том, что я не могу указать разные scale_fill_manual для двух нижних панелей, поэтому я вместо этого использовал цвет обводки для средней панели - не идеально, но пока достаточно.

Спасибо Бену за то, что он понял это и начал беседу со списком рассылки.

...