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

Stacked column chart绘制求助:柱内值顺序颠倒+自定义颜色失效

问题修复方案

问题1:柱内数值顺序颠倒

你的代码里,data_long$A <- factor(data_long$A, levels = rev(levels(data_long$A)))这行写在了数据重塑之前,此时data_long还未生成,所以这行代码完全没有生效。

两种修复方式:

方式1:先重塑数据再调整因子水平

col_names <- c("A", "B", "C", "D","E", "F", "G","H")  
colnames(data) <- col_names

# 先完成数据重塑
data_long <- tidyr::pivot_longer(data, cols = c(B:H), names_to = "X", values_to = "Value")
# 再调整A的因子水平,反转默认顺序以匹配Excel效果
data_long$A <- factor(data_long$A, levels = rev(levels(data_long$A)))

ggplot(data_long, aes(x = X, y = Value, fill = A)) +
  geom_col(position = "stack") +
  labs(x = "X轴", y = "Y轴", fill = "图例") +
  theme_minimal()

方式2:直接反转堆叠顺序

如果不想修改因子水平,可在geom_col中设置堆叠参数:

ggplot(data_long, aes(x = X, y = Value, fill = A)) +
  geom_col(position = position_stack(reverse = TRUE)) + # 反转堆叠顺序
  labs(x = "X轴", y = "Y轴", fill = "图例") +
  theme_minimal()

问题2:自定义HEX颜色显示灰色

出现灰色通常是因为自定义颜色的数量和因子A的类别数量不匹配,或者颜色向量未与因子水平对应。

修复代码:

确保自定义颜色的数量与A列的类别数一致,用scale_fill_manual指定:

# 示例:根据A列实际类别数调整颜色数量
custom_colors <- c("#FF5733", "#33FF57", "#3357FF", "#FF33A6")

ggplot(data_long, aes(x = X, y = Value, fill = A)) +
  geom_col(position = position_stack(reverse = TRUE)) +
  scale_fill_manual(values = custom_colors) + # 指定自定义HEX颜色
  labs(x = "X轴", y = "Y轴", fill = "图例") +
  theme_minimal()

如果要严格绑定颜色与特定类别,可给颜色向量命名:

custom_colors <- c(
  "类别1" = "#FF5733",
  "类别2" = "#33FF57",
  "类别3" = "#3357FF",
  "类别4" = "#FF33A6"
)

完整修复代码

col_names <- c("A", "B", "C", "D","E", "F", "G","H")  
colnames(data) <- col_names

# 数据重塑
data_long <- tidyr::pivot_longer(data, cols = c(B:H), names_to = "X", values_to = "Value")

# 自定义颜色(根据A列实际类别数量调整)
custom_colors <- c("#FF5733", "#33FF57", "#3357FF", "#FF33A6", "#F3FF33")

ggplot(data_long, aes(x = X, y = Value, fill = A)) +
  geom_col(position = position_stack(reverse = TRUE)) + # 修正堆叠顺序
  scale_fill_manual(values = custom_colors) + # 自定义颜色
  labs(x = "X轴", y = "Y轴", fill = "图例") +
  theme_minimal()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:37:39