我在一个闪亮的应用程序中使用 ggplotly。该应用程序与 ggplotly 一起正常工作以绘制普通图表。但是,当我尝试向图表添加动画时,图表仅显示点的移动而不是整个图表。代码运行没有错误,但未显示主图。我怀疑这个问题可能来自于
frame
的争论。请注意,如果您在下面的代码中将 aes(frame=F)
添加到 geom_point
,它将可以工作,但不能在闪亮应用程序内的 ggplotly 中工作。
这是我的 MWE:
x<-structure(list(A = c(0L, 0L, 0L, 0L, 0L), B = c(5L, 6L, 15L,
17L, 2L), C = c(0L, 0L, 0L, 0L, 0L), D = c(0L, 0L, 0L, 0L, 0L
), E = structure(c(18316, 18317, 18318, 18319, 18320), class = "Date"),
F = c(5L, 11L, 26L, 43L, 45L)), row.names = c(NA, 5L), class = "data.frame")
gp<-ggplot(data = x,
aes(x = E, y = F, frame=F)) +
geom_line( color="red") +
geom_point(shape=21, color="red", fill="#69b3a2", size=4) +
theme(axis.text.x = element_text(color="#993333",
size=10,
angle=45,
hjust = 1),
axis.text.y = element_text(color="#993333",
size=10,
angle=45,
hjust = 1)
) +
scale_x_date(date_labels = "%b/%d" )
#+show(gp)
ggplotly(gp)
你有什么建议吗?
我认为此时您无法将多个帧(动画图)转换为
ggplotly
。 另外,在上面的示例中,没有足够的数据来显示多个帧。 我的建议是使用 plot_ly
构建第一帧,然后为后续帧构建 add_trace
(我知道,这是一个 hack)。 最多的项目应位于第一帧中。 虽然这不是一个优雅的解决方案,但它可以完成工作。