如何使用gganimate包在R中绘制动态地图?
据我所知,gganimate已经在1.0.3版中,我们可以使用如何使用gganimate包在R中绘制动态地图?,r,ggplot2,gganimate,R,Ggplot2,Gganimate,据我所知,gganimate已经在1.0.3版中,我们可以使用transition.*函数来绘制动态图。但当我运行以下代码时,出现了一个错误: Error in `$<-.data.frame`(`*tmp*`, "group", value = "") : replacement has 1 row, data has 0 “$中的错误您在顶层ggplot()行中没有定义数据,因此transition.*中的state不知从何而来 我也不清楚为什么代码中有geom_抖动级别。与t
transition.*
函数来绘制动态图。但当我运行以下代码时,出现了一个错误:
Error in `$<-.data.frame`(`*tmp*`, "group", value = "") :
replacement has 1 row, data has 0
“$中的
错误您在顶层ggplot()
行中没有定义数据,因此transition.*
中的state
不知从何而来
我也不清楚为什么代码中有geom_抖动
级别。与transition.*
类似,它没有顶级数据/美学映射可继承,因此如果transition.*
没有首先触发错误,它也会抛出错误。此外,即使我们添加映射,考虑到数据中lat/lon坐标的范围,0.1的抖动在视觉上也几乎不重要
您可以尝试以下操作:
# put data in top level ggplot()
ggplot(data,
aes(x = lon, y = lat))+
geom_map(data = world,
map = world,
aes(long,lat,map_id = region),
color = '#333300', fill = '#663300',
# lighter background for better visibility
alpha = 0.5) +
geom_point(size = 2.5) +
# limit coordinates to relevant range
coord_quickmap(x = c(-180, -50), y = c(25, 85)) +
transition_states(states = state)
# put data in top level ggplot()
ggplot(data,
aes(x = lon, y = lat))+
geom_map(data = world,
map = world,
aes(long,lat,map_id = region),
color = '#333300', fill = '#663300',
# lighter background for better visibility
alpha = 0.5) +
geom_point(size = 2.5) +
# limit coordinates to relevant range
coord_quickmap(x = c(-180, -50), y = c(25, 85)) +
transition_states(states = state)