kolay yolu olurdu facet_grid()
:
kullanmak için
ggplot(df, aes(x=Position, y=Value))+
geom_bar(stat='identity')+
facet_grid(~group,scales='free')
Yoksa, daha fazla kontrol için, bunları birleştirmek gridExtra
paketini kullanarak bireysel araziler & oluşturarak deneyebilirsiniz.
#Data
enter df <- as.data.frame(cbind(Position = c(1,2,3,4,5,6,7,8,9,10),
Value = c(11.31, 10.39, 9.50, 6.61, 5.41,
3.88, 3.81, 1.25, 0.70,10.41)))
#Grouping
df$group<-cut(df$Position,breaks=c(0,3,6,9,100),c('0-3','4-6','7-9','10'))
#Creating Individual Plots
p1=ggplot(subset(df,df$group=='0-3'), aes(x=Position, y=Value))+
geom_bar(stat='identity')+
ggtitle('0-3')
p2=ggplot(subset(df,df$group=='4-6'), aes(x=Position, y=Value))+
geom_bar(stat='identity')+
ggtitle('4-6')
p3=ggplot(subset(df,df$group=='7-9'), aes(x=Position, y=Value))+
geom_bar(stat='identity')+
ggtitle('7-9')
p4=ggplot(subset(df,df$group=='10'), aes(x=factor(Position), y=Value,width=Value/10))+
geom_bar(stat='identity',width=0.7)+
ggtitle('10')+
xlab(label='Position')
grid.arrange(p1,p2,p3,p4,ncol=2,nrow=2,main='Plot')
Teşekkür Matthew, açıkçası kendimi yeterince açık açıklamadı. Her faset içinde boş pozisyonlardan kaçınmak istedim. – blJOg
@blJOg, Yukarıdaki kodu "facet_grid (. ~ Group, scales =" free ")' ' –
' facet_grid (. ~ Grup, scales = "free") '' olarak ayarlayabilirsiniz, neredeyse çalışır fakat faset 4 çok geniş bir bara sahiptir . – blJOg