繁体   English   中英

ggplot 填充属性更改比例

[英]ggplot fill property changes scale

我有一个简单的数据框,并使用 ggplot 使用以下代码创建条形图:

ggplot(data=data_cases,aes(x = k,y = val)) + 
  stat_summary(fun.y=sum, geom = "bar") +
  scale_x_discrete(name="Type",
                   labels=c('A&R','A&E','C&E'))

此代码生成所需的结果。 但是,当我添加填充属性来为图形的各个部分着色时,它会更改 y 比例。 在下图中,左边的图片具有正确的比例,右边的是如果设置了fill属性产生的结果( ggplot(data=data_cases,aes(x = k,y = val, fill=state)) )

ggplot 输出

数据:

"k","state","val"
"A&C","SA ",3
"C&E","SA ",2
"A&C","NSW",29
"A&E","NSW",10
"C&E","NSW",11
"C&E","NT ",1
"A&C","WA ",3
"A&E","WA ",1
"C&E","WA ",4
"A&C","VIC",24
"A&E","VIC",1
"C&E","VIC",15
"A&C","QLD",7
"A&E","QLD",2
"C&E","QLD",17

这是因为第二张图表显示了每个州的病例数,例如新南威尔士州的 A&R 型病例数接近 30。 每个条从 0 开始。

如果你想像原来一样,那么所有的条应该相互堆叠:使用position='stack'

ggplot(data=data_cases,aes(x = k,y = val)) + 
  stat_summary(fun.y=sum, geom = "bar", position="stack") + # <---
  scale_x_discrete(name="Type",
                   labels=c('A&R','A&E','C&E'))

在此处输入图片说明

ggplot 有很多这样的职位。 ?position_dodge, ?position_fill, ?position_stack, ?position_identity, ...

也可以使用geom_col

ggplot(df, aes(k, val, fill = state)) +
  geom_col()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM