2016-09-14 2 views
1

Я хотел бы разделить ось x на две группы. Я уже успел сделать одну группу, используя грань, но не могу сделать вторую. Вот картина того, что у меня уже есть, и что я хочу дополнительно. Вот и моя команда:ggplot в R - разделите ось x на две группы

ggplot(myk.p, aes(x=Group, y=Colonization, fill=MO)) + 
    geom_bar(stat="identity", colour="black") + 
    scale_fill_manual(values=c("#000000","#7a7a7a","#c0c0c0")) + 
    theme(panel.margin = unit(0, "lines"), strip.background = 
    element_blank()) + facet_wrap(~Water, switch = "x", scales = "free_x") + 
    ggtitle("Root mycorrhization in % (Populus nigra)") 

Chart

Пример data.csv:

"Group" "Colonization" "MO" "Water" "Fertilizer" 
"P1" 69,2307692308 "C" "once" "without" 
"P2" 71,8232044199 "F" "once" "without" 
"P3" 82,5174825175 "I" "once" "without" 
"P4" 66,4122137405 "C" "once" "with" 
"P5" 86,013986014 "F" "once" "with" 
"P6" 98,7654320988 "I" "once" "with" 
"P7" 41,9540229885 "C" "twice" "without" 
"P8" 65,7894736842 "F" "twice" "without" 
"P9" 63,9705882353 "I" "twice" "without" 
"P10" 62,5850340136 "C" "twice" "with" 
"P11" 87,012987013 "F" "twice" "with" 
"P12" 89,696969697 "I" "twice" "with" 
+0

Если вы хотите, вы можете сделать 'facet_grid' вместо' facet_wrap', хотя этой воли дайте вам график 2x2 –

+0

Вам нужно включить достаточное количество данных, чтобы сделать вашу проблему [воспроизводимой] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). Как правило, вам нужно сгладить переменную с двумя уровнями, чтобы получить две грани. – alistaire

+0

Я добавил образец csv-файла. –

ответ

0

Спасибо за комментарии. aosmith: Прекрасно работает. Единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что упорядочение неверно. Я хочу, чтобы запустить его из P1, P2, ... P12 Это то, что я получил в настоящее время:

almost

+0

Границы упорядочены по уровням факторов. Поэтому, если вы хотите, чтобы «без» приходилось первым, вы можете установить уровни фактора: 'myk.p $ Fertilizer = factor (myk.p $ Fertilizer, levels = c (" without "," with "))' и перезапустить графа. Поскольку это в настоящее время читает, это должен быть комментарий, а не ответ. Добавьте в свой окончательный код, чтобы официальный ответ – aosmith

+0

Прекрасно работает. Спасибо. –

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