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

使用ggplot绘制自定义颜色柱状图及添加犯规数据列的问题

问题解决:自定义柱状图颜色+添加fouls分组柱

1. 解决柱子颜色不生效的问题

你用scale_fill_manual但颜色没变化,核心原因是没有在aes()里将fill与分类变量绑定。修改代码,把fill = name加入aes(),让每个联赛的柱子对应独立填充色,再配合scale_fill_manual即可生效:

library(ggplot2)

ggplot(GoalsAndFouls, aes(x = name, y = goals, fill = name)) +
  labs(x = "联赛", y = "进球数") +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c("red", "green", "blue", "grey", "orange")) +
  theme(legend.position = "none")

2. 添加每个联赛的fouls柱子(分组柱状图)

要同时展示进球数和犯规数,需先将宽格式数据转换为长格式,再绘制分组柱状图:

步骤1:转换数据格式

library(tidyr)

# 将goals和fouls列转成长格式
long_data <- pivot_longer(GoalsAndFouls, 
                          cols = c(goals, fouls), 
                          names_to = "统计指标", 
                          values_to = "数值")

步骤2:绘制分组柱状图

ggplot(long_data, aes(x = name, y = 数值, fill = 统计指标)) +
  labs(x = "联赛", y = "数值", fill = "指标类型") +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8)) +
  # 自定义两种指标的颜色(可选)
  scale_fill_manual(values = c("goals" = "#E63946", "fouls" = "#457B9D"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:25:34