Skip to content

Instantly share code, notes, and snippets.

@sa-lee
Last active October 29, 2019 03:04
Show Gist options
  • Save sa-lee/a3d6f5f582485f65d111f2b287b46ac2 to your computer and use it in GitHub Desktop.
Save sa-lee/a3d6f5f582485f65d111f2b287b46ac2 to your computer and use it in GitHub Desktop.
gif a tour that shows in rmd / rstudio viewer pane
gif_tour <- function(data, tour_path, display, ... ) {
  dir <- tempdir()
  png_path <- file.path(dir, "frame%03d.png")
  
  tourr::render(data,
                tour_path = tour_path,
                display = display,
                dev = "png",
                png_path,
                frames = 200,
                ...
  )
  png_files <- sprintf(png_path, 1:200)
  gif_file <- tempfile(fileext = ".gif")
  gifski::gifski(png_files, gif_file, delay = 0.25, progress = TRUE)
  on.exit(unlink(png_files))
  gganimate::gif_file(gif_file)
}

gif_tour(tourr::olive[, c(7,9,10)], tour_path = tourr::grand_tour(), display = tourr::display_xy())
#> Converting input data to the required matrix format.
#> Using half_range 0.79
#> 
Frame 1 (0%)
Frame 2 (1%)
Frame 3 (1%)
Frame 4 (2%)
Frame 5 (2%)
Frame 6 (3%)
Frame 7 (3%)
Frame 8 (4%)
Frame 9 (4%)
Frame 10 (5%)
Frame 11 (5%)
Frame 12 (6%)
Frame 13 (6%)
Frame 14 (7%)
Frame 15 (7%)
Frame 16 (8%)
Frame 17 (8%)
Frame 18 (9%)
Frame 19 (9%)
Frame 20 (10%)
Frame 21 (10%)
Frame 22 (11%)
Frame 23 (11%)
Frame 24 (12%)
Frame 25 (12%)
Frame 26 (13%)
Frame 27 (13%)
Frame 28 (14%)
Frame 29 (14%)
Frame 30 (15%)
Frame 31 (15%)
Frame 32 (16%)
Frame 33 (16%)
Frame 34 (17%)
Frame 35 (17%)
Frame 36 (18%)
Frame 37 (18%)
Frame 38 (19%)
Frame 39 (19%)
Frame 40 (20%)
Frame 41 (20%)
Frame 42 (21%)
Frame 43 (21%)
Frame 44 (22%)
Frame 45 (22%)
Frame 46 (23%)
Frame 47 (23%)
Frame 48 (24%)
Frame 49 (24%)
Frame 50 (25%)
Frame 51 (25%)
Frame 52 (26%)
Frame 53 (26%)
Frame 54 (27%)
Frame 55 (27%)
Frame 56 (28%)
Frame 57 (28%)
Frame 58 (29%)
Frame 59 (29%)
Frame 60 (30%)
Frame 61 (30%)
Frame 62 (31%)
Frame 63 (31%)
Frame 64 (32%)
Frame 65 (32%)
Frame 66 (33%)
Frame 67 (33%)
Frame 68 (34%)
Frame 69 (34%)
Frame 70 (35%)
Frame 71 (35%)
Frame 72 (36%)
Frame 73 (36%)
Frame 74 (37%)
Frame 75 (37%)
Frame 76 (38%)
Frame 77 (38%)
Frame 78 (39%)
Frame 79 (39%)
Frame 80 (40%)
Frame 81 (40%)
Frame 82 (41%)
Frame 83 (41%)
Frame 84 (42%)
Frame 85 (42%)
Frame 86 (43%)
Frame 87 (43%)
Frame 88 (44%)
Frame 89 (44%)
Frame 90 (45%)
Frame 91 (45%)
Frame 92 (46%)
Frame 93 (46%)
Frame 94 (47%)
Frame 95 (47%)
Frame 96 (48%)
Frame 97 (48%)
Frame 98 (49%)
Frame 99 (49%)
Frame 100 (50%)
Frame 101 (50%)
Frame 102 (51%)
Frame 103 (51%)
Frame 104 (52%)
Frame 105 (52%)
Frame 106 (53%)
Frame 107 (53%)
Frame 108 (54%)
Frame 109 (54%)
Frame 110 (55%)
Frame 111 (55%)
Frame 112 (56%)
Frame 113 (56%)
Frame 114 (57%)
Frame 115 (57%)
Frame 116 (58%)
Frame 117 (58%)
Frame 118 (59%)
Frame 119 (59%)
Frame 120 (60%)
Frame 121 (60%)
Frame 122 (61%)
Frame 123 (61%)
Frame 124 (62%)
Frame 125 (62%)
Frame 126 (63%)
Frame 127 (63%)
Frame 128 (64%)
Frame 129 (64%)
Frame 130 (65%)
Frame 131 (65%)
Frame 132 (66%)
Frame 133 (66%)
Frame 134 (67%)
Frame 135 (67%)
Frame 136 (68%)
Frame 137 (68%)
Frame 138 (69%)
Frame 139 (69%)
Frame 140 (70%)
Frame 141 (70%)
Frame 142 (71%)
Frame 143 (71%)
Frame 144 (72%)
Frame 145 (72%)
Frame 146 (73%)
Frame 147 (73%)
Frame 148 (74%)
Frame 149 (74%)
Frame 150 (75%)
Frame 151 (75%)
Frame 152 (76%)
Frame 153 (76%)
Frame 154 (77%)
Frame 155 (77%)
Frame 156 (78%)
Frame 157 (78%)
Frame 158 (79%)
Frame 159 (79%)
Frame 160 (80%)
Frame 161 (80%)
Frame 162 (81%)
Frame 163 (81%)
Frame 164 (82%)
Frame 165 (82%)
Frame 166 (83%)
Frame 167 (83%)
Frame 168 (84%)
Frame 169 (84%)
Frame 170 (85%)
Frame 171 (85%)
Frame 172 (86%)
Frame 173 (86%)
Frame 174 (87%)
Frame 175 (87%)
Frame 176 (88%)
Frame 177 (88%)
Frame 178 (89%)
Frame 179 (89%)
Frame 180 (90%)
Frame 181 (90%)
Frame 182 (91%)
Frame 183 (91%)
Frame 184 (92%)
Frame 185 (92%)
Frame 186 (93%)
Frame 187 (93%)
Frame 188 (94%)
Frame 189 (94%)
Frame 190 (95%)
Frame 191 (95%)
Frame 192 (96%)
Frame 193 (96%)
Frame 194 (97%)
Frame 195 (97%)
Frame 196 (98%)
Frame 197 (98%)
Frame 198 (99%)
Frame 199 (99%)
Frame 200 (100%)
#> Finalizing encoding... done!

Created on 2019-10-29 by the reprex package (v0.3.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment