我想从正态分布中采样点,然后使用gganimate包一个一个地建立一个点图,直到最后一帧显示完整的点图。
适用于约 5,000 - 20,000 个点的更大数据集的解决方案至关重要。
这是我到目前为止的代码:
library(gganimate)
library(tidyverse)
# Generate 100 normal data points, along an index for each sample
samples <- rnorm(100)
index <- seq(1:length(samples))
# Put data into a data frame
df <- tibble(value=samples, index=index)
Run Code Online (Sandbox Code Playgroud)
df 看起来像这样:
> head(df)
# A tibble: 6 x 2
value index
<dbl> <int>
1 0.0818 1
2 -0.311 2
3 -0.966 3
4 -0.615 4
5 0.388 5
6 -1.66 6
Run Code Online (Sandbox Code Playgroud)
静态图显示了正确的点图:
# Create static version
plot <- ggplot(data=df, …Run Code Online (Sandbox Code Playgroud) 我想用渐变着色生成 ggplot,填充绘图面板及其背景,如图所示。
如您所见,渐变背景色同时包含绘图面板及其背景。目前,我只知道所需解决方案的“近似值”:
library(ggplot2)
library(grid)
library(gridExtra)
reds <- c("#7B0664", "#E32219")
g <- rasterGrob(reds, width = unit(1, "npc"), height = unit(1, "npc"),
interpolate = TRUE)
ggplot(data = economics, aes(x = date, y = unemploy)) +
annotation_custom(g, xmin=-Inf, xmax=Inf, ymin=-Inf, ymax=Inf) +
geom_line( alpha=1, color = "white", size = 0.5 ) +
xlab("Years") + ylab("Unemployed [thousands]") +
theme(plot.background = element_rect(fill=reds[2]))
Run Code Online (Sandbox Code Playgroud)
使用上面显示的代码,绘图面板的结果是轴边界内的渐变色,但它不会用这种渐变色跨越整个背景。主题(plot.background =...) 能够填充剩余的背景,但它似乎无法利用渐变着色。进一步说明应该将相同的渐变着色应用于整个绘图背景。
任何建议将不胜感激。谢谢。