在 ggridges 中绘制两个分类向量
plotting two categorical vectors in ggridges
我有一个包含一些生物的数据集,我想在我的 y 轴上绘制它,而我想在 x 轴上绘制日期。但是,我希望曲线的波动代表生物体的丰度。即我想绘制一个时间序列,其中相对丰度由生物体分隔,以显示随时间变化的相似模式。
但是,当然,仅针对生物体绘制日期不会产生任何关于丰度的信息。所以,我的问题是,有没有办法使用 ggridges 使曲线代表丰度?
这是我的示例数据集代码:
set.seed(1)
Data <- data.frame(
Abundance = sample(1:100),
Organism = sample(c("organism1", "organism2"), 100, replace = TRUE)
)
Date = rep(seq(from = as.Date("2016-01-01"), to = as.Date("2016-10-01"), by =
'month'),times=10)
Data <- cbind(Date, Data)
ggplot(Data, aes(x = Abundance, y = Organism)) +
geom_density_ridges(scale=1.15, alpha=0.6, color="grey90")
这会生成包含两种生物的图,但是,我想要 x 轴上的日期而不是丰度。但是,这不起作用。我读过您需要指定 group=Date 或将日期更改为儒略日,但是,这并没有改变我没有将丰度纳入情节的事实。
有没有人有针对 ggridges 中的连续变量绘制日期与分类变量(即有机体)的图示例?
我真的很喜欢从 ggridges 输出并且希望能够将它用于这些可视化。预先感谢您的帮助!
干杯,
安妮
要使用 geom_density_ridges
,与 Abundance
.
总结的相比,它有助于重塑数据以在单独的行中显示观察结果
library(ggplot2); library(ggridges); library(dplyr)
# Uncount copies the row "Abundance" number of times
Data_sum <- Data %>%
tidyr::uncount(Abundance)
ggplot(Data_sum, aes(x = Date, y = Organism)) +
ggridges::geom_density_ridges(scale=1, alpha=0.6, color="grey90")
我有一个包含一些生物的数据集,我想在我的 y 轴上绘制它,而我想在 x 轴上绘制日期。但是,我希望曲线的波动代表生物体的丰度。即我想绘制一个时间序列,其中相对丰度由生物体分隔,以显示随时间变化的相似模式。
但是,当然,仅针对生物体绘制日期不会产生任何关于丰度的信息。所以,我的问题是,有没有办法使用 ggridges 使曲线代表丰度?
这是我的示例数据集代码:
set.seed(1)
Data <- data.frame(
Abundance = sample(1:100),
Organism = sample(c("organism1", "organism2"), 100, replace = TRUE)
)
Date = rep(seq(from = as.Date("2016-01-01"), to = as.Date("2016-10-01"), by =
'month'),times=10)
Data <- cbind(Date, Data)
ggplot(Data, aes(x = Abundance, y = Organism)) +
geom_density_ridges(scale=1.15, alpha=0.6, color="grey90")
这会生成包含两种生物的图,但是,我想要 x 轴上的日期而不是丰度。但是,这不起作用。我读过您需要指定 group=Date 或将日期更改为儒略日,但是,这并没有改变我没有将丰度纳入情节的事实。
有没有人有针对 ggridges 中的连续变量绘制日期与分类变量(即有机体)的图示例?
我真的很喜欢从 ggridges 输出并且希望能够将它用于这些可视化。预先感谢您的帮助!
干杯, 安妮
要使用 geom_density_ridges
,与 Abundance
.
library(ggplot2); library(ggridges); library(dplyr)
# Uncount copies the row "Abundance" number of times
Data_sum <- Data %>%
tidyr::uncount(Abundance)
ggplot(Data_sum, aes(x = Date, y = Organism)) +
ggridges::geom_density_ridges(scale=1, alpha=0.6, color="grey90")