问题描述
我有一个这样的表:
<Text />
的数据
dput
我想创建一个堆叠的柱状图,以显示Dead,Recovered和On处理的百分比,其中2个柱为northern_countries和Southern_countries。
我一直在搜索,但找不到答案:(另外,我刚开始使用R,所以请您能详细说明一下内容吧。
非常感谢xoxo
解决方法
使用ggplot2:
说df
是您数据框的名称,首先您需要使用pivot_longer()
包中的tidyr
将其转换为长格式:
df <- tidyr::pivot_longer(df,cols=-1)
Obs:-1
不会将第一行转换为long。然后它应该看起来像这样(抱歉,质量不好):
因此,我们希望x轴上的name
列(其中每个值一个条形),y里的value
列,每个条形的颜色应除以status
,因此我们将其传递给fill
:
library(ggplot2)
ggplot(df,aes(x=name,y=value,fill=status) + geom_col()