将稀疏图从 Vegan 转换为 R 中的 ggplot2?
Convert rarefaction plots from Vegan to ggplot2 in R?
您好,我是 运行 包 'vegan' 中的物种估计计算。
我运行的代码很简单:
library(vegan)
data(BCI)
p<-poolaccum(BCI, permutations = 50)
p.plot<-plot(p, display = c("chao", "jack1", "jack2"))
对象p.plot
是网格类型的对象。所以我无法将它转换为数据框以用于 ggplot。我希望能够使用 ggplot 的原因是因为我希望所有估算器曲线都在带有标签的同一张图上。我也在为其他数据集绘制这些图,我想尽可能地合并 space。
任何帮助都会很棒!谢谢
summary(p)
可以帮助您获取 ggplot2 的输入数据。我在这里演示Chao情节:
library(ggplot2)
library(reshape2)
chao <- data.frame(summary(p)$chao,check.names = FALSE)
colnames(chao) <- c("N", "Chao", "lower2.5", "higher97.5", "std")
chao_melt <- melt(chao, id.vars = c("N","std"))
ggplot(data = chao_melt, aes(x = N, y = value, group = variable)) +
geom_line(aes(color = variable))
p
就是你在p<-poolaccum(BCI, permutations = 50)
中得到的输出是这样的,你可以针对多个情节和主题做一些调整。
您好,我是 运行 包 'vegan' 中的物种估计计算。
我运行的代码很简单:
library(vegan)
data(BCI)
p<-poolaccum(BCI, permutations = 50)
p.plot<-plot(p, display = c("chao", "jack1", "jack2"))
对象p.plot
是网格类型的对象。所以我无法将它转换为数据框以用于 ggplot。我希望能够使用 ggplot 的原因是因为我希望所有估算器曲线都在带有标签的同一张图上。我也在为其他数据集绘制这些图,我想尽可能地合并 space。
任何帮助都会很棒!谢谢
summary(p)
可以帮助您获取 ggplot2 的输入数据。我在这里演示Chao情节:
library(ggplot2)
library(reshape2)
chao <- data.frame(summary(p)$chao,check.names = FALSE)
colnames(chao) <- c("N", "Chao", "lower2.5", "higher97.5", "std")
chao_melt <- melt(chao, id.vars = c("N","std"))
ggplot(data = chao_melt, aes(x = N, y = value, group = variable)) +
geom_line(aes(color = variable))
p
就是你在p<-poolaccum(BCI, permutations = 50)
中得到的输出是这样的,你可以针对多个情节和主题做一些调整。