我试图随着时间的推移每天绘制一组广告的支出和获利能力数据。对于给定的日期范围,我遍历该范围并创建日期框架。这些表中的每一个都作为单独的数据帧附加到列表中。
以下是一些示例代码:
l <- list()
df1 <- tribble(
~Ad, ~Spend, ~Profitability,
"Cat", 10000, 0.21,
"Movie", 20000, -0.05,
"Dog", 8000, 0.07)
l[1] <- list(df1)
df2 <- tribble(
~Ad, ~Spend, ~Profitability,
"Cat", 14000, 0.25,
"Movie", 21000, -0.08,
"Dog", 8000, 0.09,
"TV", 4000, .31)
l[2] <- list(df2)
df3 <- tribble(
~Ad, ~Spend, ~Profitability,
"Cat", 13000, 0.18,
"Movie", 23000, -0.11,
"TV", 7000, .25)
l[3] <- list(df3)
到目前为止,我一直在将每个表绘制为散点图(将获利能力作为y轴,将花费作为x轴)并将它们另存为单独的png,以使其成为gif,但看起来非常不连贯。
这是散点图之一的示例:
ggplot(as.data.frame(l[1]), aes(x = Spend, y = Profitability, color = Ad)) + geom_point(size = 3) + xlim(0, 30000) +
scale_y_continuous(labels = scales::percent, limits = c(-0.25, 0.5)) + geom_text(aes(label = Ad), size = 2, vjust = -2)
我的问题是,我该如何为该gif设置动画,以使这些点每天都在连续移动(即“猫”散射点将从(10000,0.21)变为(14,000,0.25)到(13,000,0.18) )?
另一个麻烦是,广告的集合不一定每天(表到表)都相同,因为某些广告在某些日子根本没有用完。如果某个广告不在某个位置,则将相应的分散点移动到(0,0)。
谢谢!