Я большой поклонник facet_wrap
. Хотя быстро разбить большой кадр данных и построить несколько графиков и исследовать внутри R, это не всегда лучший инструмент для представления в бумажной или силовой точке. Я нахожусь впустую много времени с весами, ширинами бинов и размерами шрифтов и, в конечном счете, изменяя на inkscape сюжет.ggplot2: сохранить отдельные грани facet_wrap как отдельные объекты участка
Иногда я просто подбираю свой фрейм данных во множество фреймов данных и строю индивидуально для каждого. Позже присоединитесь к ним с multiplot
или вручную.
Мне было интересно, может ли быть способ сделать вызов ggplot почти таким же образом (один большой df с столбцом факторов, используемый для огранки), или способ заставить ggplot читать что-то со списком данных разделенный моим фактором факела. Идеальный выход должен быть несколько одиночных участков, которые я буду редактировать позже Inkscape (и использовать free_y
весы, чтобы сделать его менее болезненным)
Чтобы было ясно,
df<-mtcars
ggplot(df,aes(df$mpg,df$disp,color=factor(cyl)))+
geom_point(aes(df$mpg,df$disp))+
facet_wrap(~cyl)
Производит один участок. Мой желаемый результат в этом случае был бы тремя графиками, по одному для каждой грани.
Да, я ищу для этого. Он выполняет эту работу, однако синтаксис является сложным, и мы просто делаем точечный граф. Я нашел этот https://github.com/guiastrennec/ggplus, хотя он не работает для R версии 3.2. –
Мне удалось создать сюжет с этим конкретным сюжетом, но он сильно мучает ось x (это гистограмма, а не каждая грань имеет те же значения x, что и в подсчетах), какие-либо рекомендации по этому поводу? –
Я использую и адаптирую этот код весь день :). Просто чтобы добавить что-то к большому ответу. Если x является фактором с NA для некоторых уровней, использование scale_x_discrete (..., drop = FALSE) решает проблему наличия одинаковых уровней x в каждом графике –