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

按样地分组的植被相对丰度堆叠柱状图绘制求助

解决植被堆叠柱状图绘制问题

你第一段ggplot代码的核心问题是x轴与fill参数都设置为type,这会导致每个植被类型单独成组,无法呈现样地内不同物种的相对丰度堆叠效果。结合你的数据集结构(植被类型、物种、样地相对丰度),正确的实现步骤如下:

1. 转换数据为长格式

如果你的数据集是宽格式(每列对应一个物种,每行对应一个样地,附带植被类型列),先转换为长格式:

library(tidyr)
library(ggplot2)

# 保留type列,将其他物种列转为"物种-相对丰度"的键值对
dat_long <- pivot_longer(dat, 
                         cols = -type, 
                         names_to = "species", 
                         values_to = "relative_abundance")

2. 绘制堆叠柱状图

以样地为x轴,物种为填充分组,可按植被类型分面对比:

ggplot(dat_long, aes(x = site, y = relative_abundance, fill = species)) +
  geom_bar(position = "fill", stat = "identity") + # position="fill"实现百分比堆叠
  facet_wrap(~type) + # 按植被类型分面展示
  labs(x = "样地", y = "相对丰度(比例)", fill = "物种") +
  theme_bw()

补充说明

你提供的第二段NMDS代码属于群落排序分析,和堆叠柱状图的绘制需求无关。如果需要结合排序结果可视化,可以后续单独处理,当前堆叠图的问题核心是数据格式与ggplot参数的匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:26:13