首先在这里发布,所以请告诉我如果我做错什么!
我刚开始学习"r“,目前正参与一项”泰坦尼克式kaggle作业“,其中一项相关性im使用了条形图来显示(这个人由于…)
library(ggplot2)
ggplot(data=train, aes(x=Pclass, fill=Survived)) +
ggtitle("Class distribution of passengers")+
scale_y_continuous(labels = scales::percent)+
theme(plot.title = element_text(hjust = 0.5))+ #center title
labs(y= "Count", x = "Class")+ #naming X and Y axis
geom_bar(position = "stack") # bars in plot arent stacked but side by side

^是我所使用的基于Y轴百分比的代码,而不是总数值。
我注意到%值是基于总数据观察的,我想知道是否能够使Y轴对每个条形图本质上是100%,并且它们的%分布仅依赖于类(1,2,3 )。
所以在本质上它会变成这样(请原谅我的艺术技巧):

提前感谢您的帮助!如果你有任何论坛发帖提示,请告诉我,以及让它在未来更易读。
发布于 2020-09-08 11:46:15
geom_bar的帮助页面说:
默认情况下,在
中,占据相同x位置的多个条将由position_stack()相互叠加。如果希望对它们进行逐行回避,请使用position_dodge()或position_dodge2()。最后,position_fill()在每个x上显示相对比例,方法是堆叠条子,然后标准化每个条形,使其具有相同的高度。
换句话说,您需要使用:
geom_bar(position = position_fill())或等效geom_bar(position = "fill")
使用position_fill()而不是"fill"的优点是,如果需要调整位置(这是非常少见的),就可以传递参数。见?position_fill。
https://stackoverflow.com/questions/63791272
复制相似问题