2015-01-11 3 views
3

У меня есть следующий набор данных со следующим кодом, который создает график, который я хочу в ggplot2. Я хотел бы Контрактное в PTIDs на оси х по группе, так что она показывает ptids, как они уже отображаются, но и к какой группе они находятся.Значения по оси X по группам

 PTID  Group variable value 
1 subject1 Group 1 Bio.V3.B 43 
2 subject2 Group 1 Bio.V3.B 7410 
3 subject3 Group 2 Bio.V3.B 13227 
4 subject4 Group 2 Bio.V3.B 4832 
5 subject5 Group 3 Bio.V3.B 205 
6 subject6 Group 3 Bio.V3.B 24899 
1 subject1 Group 1 Bio.V3.C 496 
2 subject2 Group 1 Bio.V3.C 5932 
3 subject3 Group 2 Bio.V3.C 24093 
4 subject4 Group 2 Bio.V3.C 85 
5 subject5 Group 3 Bio.V3.C 9503 
6 subject6 Group 3 Bio.V3.C 18249 

ggplot(data=meltedwk28v3, aes(x=PTID, y=value, fill=variable)) + 
    geom_bar(width= .5, colour="black", stat="identity", #barwidth 
      position=position_dodge(width=.7), #gapwidth 
      size=.2) +      # Thinner lines 
    scale_fill_hue(name="Bio-V3 Clade") +  # Set legend title 
    xlab("PTID") + ylab("MFI") + # Set axis labels 
    ggtitle("Wk28 Bio-V3 MFI") + # Set title 
    theme_classic() + theme(axis.text.x = element_text(angle=90,  hjust=0, vjust=0)) #Themes 

Спасибо!

ответ

1

Одним из возможных вариантов является использование interaction между «PtID» и «Группа» в качестве x переменной:

ggplot(data = df, aes(x = interaction(PTID, Group, sep = " "), y = value, fill = variable)) + 
    geom_bar(width= 0.5, colour="black", stat = "identity", 
      position = position_dodge(width = 0.7), 
      size = 0.2) + 
    xlab("PTID") + ylab("MFI") + 
    ggtitle("Wk28 Bio-V3 MFI") + 
    theme_classic() + 
    theme(axis.text.x = element_text(angle = 90, hjust = 0, vjust = 0)) 

enter image description here

+0

Спасибо это указывает меня в правильном направлении! – AwesomeeExpress

+0

Для более сложной маркировки см., Например, [** здесь **] (http://stackoverflow.com/questions/18165863/ggplot2-labels-of-grouping-values-below-the-plot?rq=1) – Henrik

+0

@AwesomeeExpress, это может быть хорошая идея принять и перенести этот ответ, если вы сочтете это полезным. –

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