RStudio用dplyr筛选非会员数据后ggplot2绘制分性别骑行柱状图问题
问题原因分析
- 你收到的
summarise()提示仅为常规通知,不属于报错,不会影响代码运行,只是告知你汇总运算后默认保留了CustomerType作为分组维度,不需要的话可以通过添加.groups参数关闭该提示。 - 绘图区域空白的核心原因:
- 你已经通过筛选锁定了只有
non-member一类用户,仍然保留fill = CustomerType+position = "dodge"的配置,dodge是多fill分类的避让逻辑,单分类下会把柱子宽度压缩到几乎不可见。 - 可额外检查
CustomerType字段中非会员的取值拼写是否和你写的'non-member'完全一致,比如是否为空格连接、大小写不同,避免filter实际筛选到空数据集。
- 你已经通过筛选锁定了只有
修正后可直接运行的代码
如果需要按性别区分柱子填充色:
FullData %>% dplyr::filter(CustomerType == 'non-member') %>% group_by(Gender) %>% summarise(number_of_rides = n(), .groups = "drop") %>% ggplot(aes(x = Gender, y = number_of_rides, fill = Gender)) + geom_col()
如果不需要区分填充色,统一柱子颜色即可:
FullData %>% dplyr::filter(CustomerType == 'non-member') %>% group_by(Gender) %>% summarise(number_of_rides = n(), .groups = "drop") %>% ggplot(aes(x = Gender, y = number_of_rides)) + geom_col(fill = "steelblue")
内容的提问来源于stack exchange,提问作者LNV
相关产品推荐
相关产品推荐

