You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ggplot中为整数性别设置字符串轴标签及柱状图颜色?

整数性别字段的柱状图实现方案

核心实现思路

无需修改原数据集的Gender字段,直接在ggplot中完成临时转换、标签替换和颜色自定义:

  • 临时将整数类型的性别字段转为分类变量
  • 把X轴上的0/1映射为"Female"/"Male"
  • 直接在绘图时计算每组的总下注数
  • 为不同性别指定自定义颜色

完整代码示例

# 绘制性别对应总下注数的柱状图
p_bar <- ggplot(data = data, aes(x = factor(Gender), y = BetsA, fill = factor(Gender))) +
  # 按性别分组计算总下注数并绘制柱状图
  stat_summary(fun = sum, geom = "col", width = 0.6) +
  # 替换X轴整数标签为文本
  scale_x_discrete(labels = c("Female", "Male")) +
  # 自定义颜色:Female设为紫色,Male设为蓝色
  scale_fill_manual(values = c("#9933FF", "#3366FF"), labels = c("Female", "Male")) +
  # 添加标题与坐标轴标签
  ggtitle("性别与总下注数的关系") +
  xlab("赌徒性别") +
  ylab("总下注数") +
  # 可选:去掉重复的图例
  theme(legend.position = "none")

# 输出图形
p_bar

补充方案:先聚合数据再绘图

如果偏好提前计算总下注数,可结合dplyr完成数据聚合后再绘图:

library(dplyr)
# 先计算不同性别的总下注数
sum_data <- data %>% 
  group_by(Gender) %>% 
  summarise(Total_Bets = sum(BetsA))

# 基于聚合后的数据绘图
ggplot(sum_data, aes(x = factor(Gender), y = Total_Bets, fill = factor(Gender))) +
  geom_col(width = 0.6) +
  scale_x_discrete(labels = c("Female", "Male")) +
  scale_fill_manual(values = c("#9933FF", "#3366FF")) +
  ggtitle("性别与总下注数的关系") +
  xlab("赌徒性别") +
  ylab("总下注数") +
  theme(legend.position = "none")

内容的提问来源于stack exchange,提问作者Temple Fugate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:40:25