您可以創建標識每個組內的唯一值的新列:
dataf$rn <- ave(dataf$aa, dataf$bb, FUN = seq_len)
然後劇情:
ggplot(data=dataf, aes(x=bb, y=aa, fill=factor(rn))) +
geom_bar(stat="identity", position="dodge")
這給:
然而,因爲這不能給出關於wid的好的情節酒吧的日,您可以擴展您的數據幀如下:
# expand the dataframe such that all the combinations of 'bb' and 'rn' are present
dfnew <- merge(expand.grid(bb=unique(dataf$bb), rn=unique(dataf$rn)), dataf, by = c('bb','rn'), all.x = TRUE)
# replace the NA's with zero's (not necessary)
dfnew[is.na(dfnew$aa),'aa'] <- 0
,然後再繪製:
ggplot(data=dfnew, aes(x=bb, y=aa, fill=factor(rn))) +
geom_bar(stat="identity", position="dodge")
這給:
在效應初探至您的評論,你可以這樣做:
dataf$rn2 <- 1:nrow(dataf)
ggplot(data=dataf, aes(x=factor(rn2), y=aa)) +
geom_bar(stat="identity", position="dodge") +
scale_x_discrete('', labels = dataf$bb)
這給:
感謝您的答覆。我正在尋找的是三個均勻放置的列,其值(a,b,a)在底部。我看到你的結果並非如此。 a在前兩根杆的中間,b不在杆的中部。 –
@HaseebMahmud查看更新,HTH。 – Jaap