library(flowmapblue)
The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Flowmap.blue widget for R produces an interactive flow map representing numbers of movements between locations (origin-destination data).
Load the package to run the examples below.
library(flowmapblue)
For the backgorund maps to work, you also need to set up your Mapbox access token. You can obtain a free token by signing up at Mapbox.
# Set your Mapbox access token
Sys.setenv(MAPBOX_API_TOKEN = "YOUR_MAPBOX_ACCESS_TOKEN")
Next, load the example location and flow data:
<- data(ch_locations)
locations <- data(ch_flows) flows
Here is the structure of these data.frame
s:
str(locations)
'data.frame': 26 obs. of 4 variables:
$ id : chr "ZH" "LU" "UR" "SZ" ...
$ name: chr "Zürich" "Luzern" "Uri" "Schwyz" ...
$ lat : num 47.4 47.1 46.8 47.1 46.9 ...
$ lon : num 8.65 8.11 8.63 8.76 8.24 ...
str(flows)
'data.frame': 676 obs. of 3 variables:
$ origin: chr "ZH" "ZH" "ZH" "ZH" ...
$ dest : chr "ZH" "BE" "LU" "UR" ...
$ count : int 66855 1673 1017 84 1704 70 94 250 1246 173 ...
Note: When using your own data, you need to shape it to the same structure with column names exactly as in these sample datasets.
Now, create a basic flow map:
<- flowmapblue(
flowmap locations = locations,
flows = flows,
mapboxAccessToken = Sys.getenv('MAPBOX_API_TOKEN'),
clustering = TRUE,
darkMode = TRUE,
animation = FALSE
)
View the map:
flowmap
Save the map to an HTML file:
# Save the map to an HTML file
::saveWidget(flowmap, file = "flowmap.html") htmlwidgets
You can also visualize flows with date-time information. Here’s an example with time data included:
# Generate fake datetime for flows
$time <- seq(from = as.POSIXct("2020-01-01"), to = as.POSIXct("2020-01-05"), length.out = nrow(flows))
flows
<- flowmapblue(
flowmap locations = locations,
flows = flows,
mapboxAccessToken = Sys.getenv('MAPBOX_API_TOKEN'),
clustering = TRUE,
darkMode = TRUE,
animation = FALSE
)
# View the map
flowmap
If your flow data includes only dates (without times), you can also visualize those:
# Generate fake dates for flows
$time <- seq(from = as.Date("2020-01-01"), to = as.Date("2020-06-01"), length.out = nrow(flows))
flows
<- flowmapblue(
flowmap locations = locations,
flows = flows,
mapboxAccessToken = Sys.getenv('MAPBOX_API_TOKEN'),
clustering = TRUE,
darkMode = TRUE,
animation = FALSE
)
# View the map
flowmap
If you want to integrate flowmapblue
into a Shiny application, you can use the following functions:
# UI
flowmapblueOutput("flowmap", width = "100%", height = "600px")
# Server
$flowmap <- renderFlowmapblue({
outputflowmapblue(
locations = ch_locations,
flows = ch_flows,
mapboxAccessToken = Sys.getenv('MAPBOX_API_TOKEN'),
clustering = TRUE,
darkMode = TRUE,
animation = FALSE
) })
This provides a simple yet powerful way to visualize flows in an interactive web application.
With these examples, you should be able to quickly get started with creating and customizing flow maps using the flowmapblue
package in R. For more advanced options and features, refer to the package documentation and explore different settings as needed.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.