gpt4 book ai didi

r - 如何在 ggplot 中将我的 x 轴拆分为多个图?

转载 作者:行者123 更新时间:2023-12-04 10:25:00 25 4
gpt4 key购买 nike

我有以下数据集:

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)))

我想将其绘制为条形图,位置值 1-3、4-6、7-9、10 位于单独的图中,即 4 个彼此下方的单独图。在 ggplot 中是否有一种简单的方法可以做到这一点?

编辑:我想在没有空职位的情况下实现这一目标。

干杯,
约瑟夫

最佳答案

最简单的方法是使用 facet_grid() :

Faceted plot

ggplot(df, aes(x=Position, y=Value))+
geom_bar(stat='identity')+
facet_grid(~group,scales='free')

或者,为了获得更多控制,您可以尝试创建单独的图并使用 gridExtra包来组合它们。
Combined Plot
#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')

关于r - 如何在 ggplot 中将我的 x 轴拆分为多个图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24934137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com