首先,我们需要安装和载入需要的 R 包:ggplot2
、gganimate
和dplyr
。这可以通过以下代码块实现:
install.packages(c("ggplot2", "gganimate", "dplyr"))
library(ggplot2)
library(gganimate)
library(dplyr)
接着,我们创建一个数据框,这个数据框包含关于正态分布的随机样本数。这个例子中,我们将创建一个包含20列和1000行的数据框:
set.seed(123)
df <- data.frame(matrix(rnorm(20000, mean = 0), nrow = 1000))
names(df) <- paste0("sample", 1:20)
下一步,我们需要将数据框转换成long
数据框,以便可以将每个样本单独绘制:
df_long <- df %>%
pivot_longer(cols = everything(), names_to = "Sample", values_to = "Value")
现在,我们可以绘制密度图。 下面代码展示如何使用ggplot2绘制绘图。注意,我们将使用geom_density
函数来绘制密度估计:
p <- ggplot(df_long, aes(x = Value, colour = Sample, fill = Sample)) +
geom_density(alpha = 0.3) +
scale_fill_viridis_d() +
scale_color_viridis_d() +
transition_reveal(Sample)
最后,我们可以使用以下出示的代码输出动画图片:
anim <- animate(p, nframes = 500, fps = 25)
anim_save("density.gif", anim)
打印出来的动图示例如下所示:
![animate-probability-density-function-dplyr-gganimate-part]./images/animate-probability-density-function-dplyr-gganimate-part.gif)