sigmajs lets you add buttons to trigger events, in static documents.
Events that can be triggered via a button (corresponding function name minus sg_):
force_startforce_stopnoverlapdrag_nodesrelative_sizeadd_nodesadd_edgesadd_nodes_edgesdrop_nodesdrop_edgesanimateexport_svgexport_imgprogressread_execYou will examples of the above scattered throughout the documentation.
A button to export the graph as SVG, not that you can export to an image (png, jpeg, gif or tiff).
nodes <- sg_make_nodes()
edges <- sg_make_edges(nodes)
sigmajs() %>%
sg_nodes(nodes, id, size, color) %>%
sg_edges(edges, id, source, target) %>%
sg_layout() %>%
sg_export_svg() %>%
sg_button(
"export_svg", # event to trigger
class = "btn btn-default",
tag = tags$a,
tags$i(class = "fa fa-download")
)
You can also trigger mutliple events with the button by passing a vector of events to event. Below we add a button that will start the forceAtlas2 layout and stop it after 3 seconds.
sigmajs() %>%
sg_nodes(nodes, id, size, color) %>%
sg_edges(edges, id, source, target) %>%
sg_force_start() %>%
sg_force_stop(3000) %>%
sg_button(
c("force_start", "force_stop"),
class = "btn btn-success",
tag = tags$a,
tags$i(class = "fa fa-play"), "layout" # only use icon if document imports fontawesome
)
layout