1

我有一个基于运动的跟踪数据集(每秒 10 个数据点),我正在考虑构建基于 voronoi 的图来可视化它。可以通过ggplot和为单个数据点构建它ggforce

df<- as_tibble(list(Latitude = c(52.2153439, 52.2150796, 52.2154053, 52.2154117, 
                                  52.215447, 52.2150971, 52.2150732, 52.2150843,
                                  52.2155136, 52.2151642), 
                     Longitude = c(-2.1630693, -2.1628415, -2.16287, -2.1628658,
                                   -2.1628006, -2.1629321, -2.1630911, -2.1630671,
                                   -2.1625132, -2.1628316), 
                     Name  = c("Player One", "Player Two", 
                                                       "Player Three", "Player Four",
                                                       "Player Five", "Player Six",
                                                       "Player Seven", "Player Eight",
                                                       "Player Nine", "Player Ten")))

但是,当我扩展数据集以包含每个玩家的多个数据点并用于gganimate将其转换为镶嵌时,我遇到了问题。由于它经常涉及重复点,其中玩家在不同时间点覆盖了相同的经纬度,底层的 voronoi 函数(来自deldir?)不喜欢重复点。

我已经从头开始研究构建 voronoi,但由于数据集的分组性质,到目前为止还没有做到。

df2 <- structure(list(Latitude = c(52.2153439, 52.2153458, 52.2153475, 
                            52.2153496, 52.2153517, 52.2153532, 52.2153554, 52.2153578, 52.2153601, 
                            52.215362, 52.2153639, 52.215366, 52.2153677, 52.2153691, 52.2153716, 
                            52.2153739, 52.2153765, 52.2153785, 52.2153804, 52.2153826, 52.2153843, 
                            52.2153863, 52.2153884, 52.2153907, 52.2153927, 52.2153955, 52.2153972, 
                            52.2153988, 52.2154006, 52.2154035, 52.215406, 52.215409, 52.2154117, 
                            52.2154146, 52.2154173, 52.2154202, 52.2154235, 52.215427, 52.2154299, 
                            52.2154326, 52.2154358, 52.2154386, 52.2154416, 52.2154443, 52.2154475, 
                            52.2154515, 52.2154536, 52.2154569, 52.2154598, 52.2154621, 52.2154654, 
                            52.2150796, 52.2150798, 52.2150799, 52.2150801, 52.2150802, 52.2150803, 
                            52.2150805, 52.2150806, 52.2150808, 52.2150809, 52.215081, 52.215081, 
                            52.2150812, 52.2150813, 52.2150813, 52.2150814, 52.2150815, 52.2150816, 
                            52.2150816, 52.2150816, 52.2150817, 52.2150817, 52.2150817, 52.2150817, 
                            52.2150818, 52.2150818, 52.2150819, 52.2150818, 52.2150819, 52.2150819, 
                            52.215082, 52.215082, 52.2150821, 52.2150822, 52.2150823, 52.2150823, 
                            52.2150824, 52.2150825, 52.2150825, 52.2150827, 52.2150827, 52.2150827, 
                            52.2150827, 52.2150826, 52.2150828, 52.2150826, 52.2150827, 52.2150827, 
                            52.2150827, 52.2150829, 52.2150828, 52.2154053, 52.2154058, 52.2154052, 
                            52.2154047, 52.2154052, 52.2154064, 52.2154065, 52.2154071, 52.2154064, 
                            52.2154054, 52.2154052, 52.2154067, 52.2154073, 52.215409, 52.2154106, 
                            52.2154131, 52.2154147, 52.2154163, 52.2154168, 52.2154175, 52.2154181, 
                            52.2154195, 52.2154186, 52.2154191, 52.2154194, 52.2154192, 52.2154193, 
                            52.2154188, 52.2154184, 52.215418, 52.2154178, 52.2154175, 52.2154172, 
                            52.2154176, 52.215418, 52.2154185, 52.2154195, 52.2154204, 52.2154214, 
                            52.2154226, 52.2154234, 52.2154245, 52.2154259, 52.2154268, 52.215428, 
                            52.2154285, 52.2154291, 52.2154305, 52.215432, 52.2154332, 52.2154342, 
                            52.2154117, 52.215412, 52.2154125, 52.2154126, 52.2154138, 52.2154157, 
                            52.2154162, 52.2154175, 52.2154182, 52.2154195, 52.215422, 52.2154257, 
                            52.215427, 52.2154291, 52.2154324, 52.2154331, 52.2154343, 52.2154346, 
                            52.215437, 52.2154382, 52.2154401, 52.2154417, 52.2154431, 52.2154444, 
                            52.2154459, 52.2154463, 52.2154467, 52.2154479, 52.2154486, 52.2154501, 
                            52.2154534, 52.2154529, 52.2154525, 52.2154526, 52.2154532, 52.2154554, 
                            52.2154582, 52.2154611, 52.2154636, 52.2154667, 52.2154699, 52.2154734, 
                            52.2154772, 52.2154806, 52.2154842, 52.2154881, 52.2154918, 52.2154953, 
                            52.2154991, 52.2155027, 52.2155063, 52.215447, 52.2154452, 52.2154437, 
                            52.2154435, 52.2154426, 52.2154423, 52.2154428, 52.2154432, 52.2154441, 
                            52.2154459, 52.2154477, 52.2154496, 52.2154518, 52.2154535, 52.215455, 
                            52.2154571, 52.2154596, 52.215461, 52.2154631, 52.2154652, 52.215467, 
                            52.2154695, 52.2154715, 52.2154732, 52.2154755, 52.215478, 52.2154806, 
                            52.2154835, 52.2154862, 52.2154887, 52.2154922, 52.2154958, 52.2154982, 
                            52.2155023, 52.2155067, 52.2155099, 52.2155135, 52.2155171, 52.21552, 
                            52.215524, 52.2155283, 52.2155312, 52.2155349, 52.2155381, 52.2155413, 
                            52.2155448, 52.2155482, 52.2155526, 52.2155559, 52.2155589, 52.2155617, 
                            52.2150971, 52.2150973, 52.2150976, 52.215098, 52.2150982, 52.2150986, 
                            52.2150988, 52.2150991, 52.2150994, 52.2150996, 52.2151, 52.2151001, 
                            52.2151003, 52.2151005, 52.2151006, 52.2151008, 52.2151009, 52.2151011, 
                            52.2151012, 52.2151013, 52.2151014, 52.2151016, 52.2151017, 52.2151018, 
                            52.215102, 52.2151021, 52.215102, 52.2151022, 52.2151022, 52.2151024, 
                            52.2151024, 52.2151025, 52.2151027, 52.2151029, 52.215103, 52.2151032, 
                            52.2151032, 52.2151035, 52.2151036, 52.2151039, 52.2151041, 52.2151044, 
                            52.2151044, 52.2151046, 52.2151047, 52.2151048, 52.215105, 52.2151051, 
                            52.2151052, 52.2151053, 52.2151054, 52.2150732, 52.2150727, 52.2150725, 
                            52.2150722, 52.2150718, 52.2150713, 52.215071, 52.2150707, 52.2150706, 
                            52.2150704, 52.2150699, 52.2150696, 52.2150692, 52.215069, 52.2150685, 
                            52.2150681, 52.2150677, 52.2150673, 52.2150668, 52.2150665, 52.2150661, 
                            52.215066, 52.2150656, 52.2150655, 52.2150652, 52.2150649, 52.2150645, 
                            52.2150643, 52.2150642, 52.215064, 52.2150642, 52.2150643, 52.2150641, 
                            52.215064, 52.2150637, 52.2150636, 52.2150633, 52.2150632, 52.2150631, 
                            52.215063, 52.2150626, 52.2150624, 52.2150623, 52.2150622, 52.2150619, 
                            52.2150618, 52.2150617, 52.2150615, 52.2150614, 52.2150612, 52.2150611, 
                            52.2150843, 52.2150844, 52.2150842, 52.2150843, 52.2150845, 52.2150846, 
                            52.2150847, 52.2150848, 52.215085, 52.2150852, 52.2150852, 52.2150854, 
                            52.2150853, 52.2150856, 52.2150856, 52.2150856, 52.2150858, 52.2150858, 
                            52.2150861, 52.215086, 52.2150861, 52.2150862, 52.2150864, 52.2150864, 
                            52.2150866, 52.2150867, 52.2150869, 52.2150867, 52.2150867, 52.2150868, 
                            52.2150869, 52.2150869, 52.215087, 52.215087, 52.2150868, 52.2150871, 
                            52.2150868, 52.2150867, 52.2150866, 52.2150867, 52.2150869, 52.2150869, 
                            52.2150868, 52.2150867, 52.2150867, 52.2150866, 52.2150868, 52.215087, 
                            52.2150872, 52.2150876, 52.2150877, 52.2155136, 52.2155108, 52.2155091, 
                            52.2155064, 52.2155039, 52.215502, 52.2154995, 52.2154976, 52.2154959, 
                            52.2154953, 52.2154937, 52.215494, 52.2154932, 52.2154935, 52.2154932, 
                            52.2154937, 52.2154942, 52.2154949, 52.2154939, 52.2154933, 52.2154944, 
                            52.2154967, 52.2154982, 52.2155001, 52.2155016, 52.2155034, 52.215506, 
                            52.2155084, 52.2155102, 52.2155129, 52.215515, 52.2155174, 52.2155199, 
                            52.2155229, 52.2155262, 52.215528, 52.2155306, 52.2155339, 52.2155364, 
                            52.2155398, 52.2155418, 52.2155457, 52.2155494, 52.215553, 52.2155569, 
                            52.215561, 52.2155646, 52.2155686, 52.2155722, 52.2155751, 52.2155788, 
                            52.2151642, 52.2151646, 52.2151649, 52.2151651, 52.2151654, 52.2151658, 
                            52.2151663, 52.2151667, 52.2151669, 52.2151674, 52.2151673, 52.2151678, 
                            52.2151682, 52.2151683, 52.2151687, 52.2151689, 52.2151689, 52.2151691, 
                            52.215169, 52.2151693, 52.2151693, 52.2151696, 52.2151696, 52.2151698, 
                            52.2151698, 52.21517, 52.2151704, 52.215171, 52.2151721, 52.2151729, 
                            52.215175, 52.2151756, 52.2151759, 52.215176, 52.2151758, 52.2151756, 
                            52.2151756, 52.2151755, 52.2151755, 52.2151755, 52.2151754, 52.215175, 
                            52.2151746, 52.2151743, 52.2151741, 52.2151737, 52.2151734, 52.2151734, 
                            52.215173, 52.2151726, 52.2151723), Longitude = c(-2.1630693, 
                                                                              -2.1630689, -2.1630679, -2.1630652, -2.163062, -2.1630594, -2.1630573, 
                                                                              -2.1630544, -2.1630527, -2.1630515, -2.1630485, -2.1630458, -2.1630419, 
                                                                              -2.16304, -2.1630364, -2.1630338, -2.1630308, -2.1630285, -2.163025, 
                                                                              -2.1630217, -2.1630177, -2.1630154, -2.1630117, -2.1630091, -2.1630073, 
                                                                              -2.1630037, -2.1630012, -2.1629983, -2.1629959, -2.1629935, -2.1629922, 
                                                                              -2.162991, -2.1629901, -2.1629885, -2.1629866, -2.1629854, -2.1629854, 
                                                                              -2.1629857, -2.1629864, -2.1629867, -2.1629865, -2.1629862, -2.1629863, 
                                                                              -2.1629864, -2.1629878, -2.162989, -2.1629898, -2.16299, -2.1629899, 
                                                                              -2.1629903, -2.1629902, -2.1628415, -2.1628395, -2.1628373, -2.1628356, 
                                                                              -2.1628332, -2.1628317, -2.1628296, -2.1628279, -2.1628262, -2.1628252, 
                                                                              -2.1628241, -2.1628231, -2.1628227, -2.1628221, -2.1628216, -2.1628215, 
                                                                              -2.1628207, -2.1628206, -2.1628207, -2.1628204, -2.1628205, -2.1628201, 
                                                                              -2.1628199, -2.1628193, -2.1628193, -2.1628194, -2.1628195, -2.1628187, 
                                                                              -2.1628181, -2.1628179, -2.162817, -2.1628155, -2.1628144, -2.1628133, 
                                                                              -2.162813, -2.1628119, -2.1628109, -2.16281, -2.1628091, -2.1628087, 
                                                                              -2.1628082, -2.1628079, -2.1628072, -2.1628072, -2.1628068, -2.1628068, 
                                                                              -2.1628064, -2.1628061, -2.1628058, -2.1628054, -2.1628048, -2.16287, 
                                                                              -2.1628636, -2.1628592, -2.1628561, -2.1628518, -2.1628477, -2.1628454, 
                                                                              -2.1628422, -2.1628394, -2.1628365, -2.1628336, -2.1628294, -2.1628264, 
                                                                              -2.1628279, -2.1628256, -2.1628236, -2.1628234, -2.1628232, -2.1628215, 
                                                                              -2.1628198, -2.1628196, -2.1628191, -2.1628184, -2.1628182, -2.1628178, 
                                                                              -2.1628183, -2.1628183, -2.162817, -2.1628172, -2.1628172, -2.1628173, 
                                                                              -2.1628171, -2.1628172, -2.1628179, -2.1628188, -2.1628195, -2.1628197, 
                                                                              -2.162819, -2.1628176, -2.1628162, -2.1628147, -2.1628138, -2.1628131, 
                                                                              -2.1628128, -2.1628165, -2.1628191, -2.162821, -2.1628237, -2.1628273, 
                                                                              -2.1628292, -2.162833, -2.1628658, -2.1628597, -2.1628531, -2.1628473, 
                                                                              -2.1628414, -2.1628353, -2.1628299, -2.1628251, -2.1628212, -2.1628156, 
                                                                              -2.1628117, -2.1628069, -2.1628026, -2.1627974, -2.1627916, -2.1627899, 
                                                                              -2.1627891, -2.1627877, -2.1627889, -2.1627905, -2.1627915, -2.1627961, 
                                                                              -2.1627986, -2.1627975, -2.1628007, -2.1628006, -2.1628021, -2.1628041, 
                                                                              -2.1628057, -2.1628078, -2.1628058, -2.1628059, -2.162806, -2.1628064, 
                                                                              -2.1628073, -2.1628091, -2.1628094, -2.1628093, -2.1628096, -2.162811, 
                                                                              -2.1628127, -2.1628137, -2.1628134, -2.1628127, -2.1628138, -2.1628141, 
                                                                              -2.1628155, -2.1628153, -2.1628156, -2.162815, -2.1628159, -2.1628006, 
                                                                              -2.1627974, -2.162794, -2.1627912, -2.1627891, -2.1627863, -2.1627837, 
                                                                              -2.1627827, -2.1627815, -2.1627797, -2.1627784, -2.1627777, -2.1627771, 
                                                                              -2.1627768, -2.1627762, -2.1627748, -2.1627733, -2.1627711, -2.162768, 
                                                                              -2.1627659, -2.1627639, -2.1627617, -2.1627596, -2.1627575, -2.1627558, 
                                                                              -2.1627538, -2.1627514, -2.1627509, -2.1627502, -2.16275, -2.1627493, 
                                                                              -2.1627499, -2.1627507, -2.1627507, -2.1627515, -2.1627547, -2.1627576, 
                                                                              -2.1627599, -2.1627621, -2.1627653, -2.162768, -2.1627694, -2.1627719, 
                                                                              -2.1627751, -2.1627777, -2.1627801, -2.1627822, -2.162785, -2.1627865, 
                                                                              -2.1627874, -2.16279, -2.1629321, -2.1629317, -2.1629316, -2.1629316, 
                                                                              -2.1629321, -2.162932, -2.1629321, -2.162932, -2.1629322, -2.1629322, 
                                                                              -2.1629319, -2.1629322, -2.1629327, -2.1629331, -2.1629341, -2.1629347, 
                                                                              -2.1629356, -2.1629358, -2.1629364, -2.1629375, -2.162938, -2.1629388, 
                                                                              -2.1629393, -2.1629399, -2.1629402, -2.1629405, -2.1629415, -2.1629419, 
                                                                              -2.1629423, -2.1629427, -2.1629432, -2.1629435, -2.1629443, -2.1629443, 
                                                                              -2.1629444, -2.1629442, -2.1629446, -2.1629445, -2.1629448, -2.1629448, 
                                                                              -2.1629445, -2.1629445, -2.1629439, -2.1629431, -2.1629425, -2.1629423, 
                                                                              -2.1629417, -2.162941, -2.16294, -2.1629399, -2.1629391, -2.1630911, 
                                                                              -2.1630919, -2.1630923, -2.1630925, -2.1630926, -2.1630929, -2.1630933, 
                                                                              -2.1630938, -2.1630942, -2.1630945, -2.1630948, -2.1630948, -2.1630951, 
                                                                              -2.1630951, -2.1630952, -2.1630954, -2.1630952, -2.1630953, -2.1630955, 
                                                                              -2.1630957, -2.1630954, -2.1630961, -2.1630963, -2.1630968, -2.163097, 
                                                                              -2.1630973, -2.1630978, -2.1630981, -2.1630986, -2.1630991, -2.1630996, 
                                                                              -2.1631007, -2.1631016, -2.1631024, -2.1631032, -2.1631038, -2.1631045, 
                                                                              -2.1631055, -2.1631061, -2.1631068, -2.1631072, -2.1631076, -2.1631085, 
                                                                              -2.1631087, -2.1631095, -2.1631102, -2.1631108, -2.1631114, -2.1631121, 
                                                                              -2.1631125, -2.163113, -2.1630671, -2.1630673, -2.1630675, -2.1630672, 
                                                                              -2.1630666, -2.1630663, -2.163066, -2.1630659, -2.1630656, -2.1630653, 
                                                                              -2.1630651, -2.1630648, -2.163064, -2.1630636, -2.1630631, -2.1630626, 
                                                                              -2.1630622, -2.1630618, -2.1630613, -2.163061, -2.1630606, -2.1630597, 
                                                                              -2.1630588, -2.1630581, -2.1630573, -2.1630565, -2.1630557, -2.1630551, 
                                                                              -2.1630544, -2.1630536, -2.1630527, -2.1630524, -2.1630517, -2.1630511, 
                                                                              -2.1630504, -2.1630499, -2.1630494, -2.1630493, -2.1630486, -2.1630483, 
                                                                              -2.1630476, -2.1630481, -2.1630483, -2.163049, -2.1630491, -2.1630497, 
                                                                              -2.1630496, -2.1630495, -2.1630491, -2.1630488, -2.1630489, -2.1625132, 
                                                                              -2.162511, -2.1625081, -2.1625057, -2.1625026, -2.1625007, -2.1624985, 
                                                                              -2.1624971, -2.1624947, -2.1624934, -2.1624904, -2.1624893, -2.1624888, 
                                                                              -2.1624883, -2.1624877, -2.1624862, -2.1624849, -2.1624835, -2.1624828, 
                                                                              -2.162483, -2.1624815, -2.162479, -2.1624779, -2.1624784, -2.1624775, 
                                                                              -2.1624762, -2.1624754, -2.162474, -2.1624738, -2.162473, -2.1624722, 
                                                                              -2.1624714, -2.1624704, -2.1624697, -2.1624706, -2.1624706, -2.1624712, 
                                                                              -2.1624725, -2.1624722, -2.1624735, -2.1624733, -2.1624754, -2.1624774, 
                                                                              -2.1624792, -2.1624805, -2.1624826, -2.162482, -2.1624841, -2.1624873, 
                                                                              -2.1624901, -2.1624932, -2.1628316, -2.1628348, -2.1628373, -2.1628392, 
                                                                              -2.162841, -2.1628439, -2.1628474, -2.1628505, -2.1628528, -2.1628545, 
                                                                              -2.1628565, -2.1628608, -2.1628654, -2.1628682, -2.1628721, -2.1628755, 
                                                                              -2.1628765, -2.1628779, -2.1628785, -2.1628795, -2.1628804, -2.162884, 
                                                                              -2.1628873, -2.1628901, -2.1628931, -2.1628961, -2.1629013, -2.1629059, 
                                                                              -2.1629136, -2.1629192, -2.1629296, -2.1629335, -2.1629354, -2.1629362, 
                                                                              -2.1629373, -2.162939, -2.1629403, -2.1629415, -2.1629436, -2.1629437, 
                                                                              -2.1629445, -2.1629448, -2.1629444, -2.1629447, -2.1629436, -2.1629434, 
                                                                              -2.1629439, -2.1629447, -2.1629449, -2.1629448, -2.1629444), 
               Name = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
                                  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
                                  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
                                  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
                                  2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                  2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                  2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                  2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
                                  3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
                                  3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
                                  3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
                                  4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
                                  4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
                                  4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 
                                  5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
                                  5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
                                  5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
                                  5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
                                  6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
                                  6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
                                  6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 
                                  7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
                                  7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
                                  7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
                                  7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
                                  8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
                                  8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
                                  8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
                                  9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
                                  9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
                                  9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 
                                  10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
                                  10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
                                  10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
                                  10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
                                  10L, 10L), .Label = c("Player One", "Player Two", "Player Three", 
                                                        "Player Four", "Player Five", "Player Six", "Player Seven", 
                                                        "Player Eight", "Player Nine", "Player Ten"), class = "factor")), class = c("tbl_df", 
                                                                                                                                    "tbl", "data.frame"), row.names = c(NA, -510L))

虽然我想采取进一步的步骤来改善最终结果(基于速度/行进方向的权重),但此链接是我希望能够做的一个示例

有人有链接/指南来构建这种性质的 voronois 吗?

更新*

我今天花了更多时间自己整理情节,下面我制作了下面的 gif。使用deldir我为数据集中的每个时间点创建单独的 voronoi。然后通过嵌套的 for 循环将这些提取到一个包含所有 voronoi 数据的数据框中

library(tidy verse)
library(deldir)
library(gganimate)

df_list2 <- split(df_2, df_2$time)

del_list <- lapply(df_list2, function(x){deldir(x$Longitude, x$Latitude, z=x$Name)})

a <- list()
b <- list()

for(i in 1:length(del_list)){

  del_df <- del_list[[i]]
  tile_list <- tile.list(del_df)

  for(z in 1:length(tile_list)){
    x <- tile_list[[z]]$x
    y <- tile_list[[z]]$y
    df1 <- data.frame(x,y)

    a[[z]] <- df1
    df <- bind_rows(a, .id='id')
  }

  b[[i]] <- df
  plot_df <- bind_rows(b, .id='id2')
}

p <- plot_df %>%
  ggplot(aes(x,y, fill=id)) +
  geom_polygon(alpha=0.3) +
  transition_states(id2) +
  ease_aes('linear')

anim_save("test.gif", p, width = 400, height = 400, fps = 10)

它确实在数据质量方面存在一些问题,因此转换不是很平滑,但我可以清理它们

gif

4

1 回答 1

3

如果你能给我们更多的代码,帮助会更容易。但从我的想法来看,你错过了动画数据中的一个时间变量。我time根据您对每个玩家的 51 次观察添加。

library(ggforce)
library(gganimate)

df$time <- 1:51

x <- ggplot(df2,aes(Longitude, Latitude))+
  geom_voronoi_segment()+
  geom_point(aes(color=Name))+
  transition_states(time)+
  ease_aes('linear')


anim_save("test.gif", x, width = 400, height = 400, fps = 10)

在此处输入图像描述

于 2019-09-23T23:28:30.227 回答