get-started.Rmd
This document will let you get started with globe4r. First, install the library from github using either the remotes or the devtools packages.
# install remotes if you do not have it already
install.packages("remotes")
# install globe4r
remotes::install_github("JohnCoene/globe4r")
Once installed, you can load the package.
library(globe4r)
#> Welcome to globe4r
#>
#> Docs: globe4r.john-coene.com
Every globe will be initiated with the create_globe
function.
create_globe()
You can use any background you want for globe using the globe_img_url
function; as indicated by the function name these must be served on a server (i.e.: the www
forlder of a Shiny app). The image_url
function provides easy access to four popular such backgrounds, you can also use any from the echarts4r.assets package.
With a globe drawn we can pipe (%>%
) various data layers:
The above can be added via two different APIs, a convenient ggplot2-like API and raw API matching the underlayong JavaScript library one-to-one. This document covers the former.
The package makes use of coords
(coordiantes) which behaves like the aes
function in ggplot2.
create_globe() %>%
globe_pov(-21, 179) %>% # position camera
globe_bars(
coords(lat, long),
data = quakes
)
There are numerous coordinates (coords
) available.
lat
, lon
start_lat
, start_lon
end_lat
, end_lon
altitude
radius
color
label
resolution
merge
transition
size
text
rotation
include_dot
dot_radius
dot_orientation
type_face
altitude_scale
stroke
curve_resolution
circular_resolution
dash_length
dash_gap
dash_initial_gap
dash_animate_time
country
,side_color
, cap_color
weight
You can use the various scale_
functions to ensure the data is as the underlying JavaScript library expects it. For instance, altitude
is ideally between 0 (flat) and 1 (radius of the globe).
create_globe() %>%
globe_pov(-21, 179) %>% # position camera
globe_bars(
coords(
lat, long,
altitude = depth,
color = depth,
label = stations # on hover label
),
data = quakes
) %>%
scale_bars_color() %>%
scale_bars_altitude()