ggiraph and Shiny

David Gohel

2016-07-01

ggiraph is an htmlwidget. It can be used within a Shiny application. The package contains two Shiny examples. You can run them and see the code by running:

shiny::runApp(appDir = system.file("shiny/crimes", package = "ggiraph"), display.mode = "showcase")
shiny::runApp(appDir = system.file("shiny/cars", package = "ggiraph"), display.mode = "showcase")

The client ui.R

Instead of a plotOutput, use function ggiraphOutput.

ggiraphOutput("plot")

The server server.R

Use function ggiraphOutput.

output$plot <- renderggiraph({
    ggiraph(code = print(gg_blahblah) )
  })

Selections

It is possible to work with selecteds point on a ggiraph plot within a Shiny application.

Selection can be of two types: single or multiple. The ggiraph’s parameter selection_type will let you specify that.

output$myplot <- renderggiraph({
    ggiraph(code = print(gg_blahblah), selection_type = "multiple" )
  })

The selected points will be captured in the input reactive value myplot_selected (name of the input id of the reactive output value + _selected):

input$myplot_selected

You can also modify theses values by using the session$sendCustomMessage method with type myplot_set (name of the input id of the reactive output value + _set).

# delete selection
session$sendCustomMessage(type = 'myplot_set', message = character(0))