This function is called whenever any interactive element of a chart is activated by clicking, marking,
hovering, etc. In turn,
it calls a corresponding callback function, if any has been specified. This function
is meant to be used internally. However, an experienced user can still use it to simulate mouse events,
even those triggered by non-existing elements. This function is a wrapper around method
chartEvent
of class LCApp
.
chartEvent(d, chartId, layerId = "main", event, sessionId = .id, app = .app)
Value that is used to identify an interactive element or its state.
A single numeric index for a point or a line, vector or row and column indices
of a cell for a heatmap, value for an input block (please, check lc_input
for more
details about input blocks and their values). It should be NULL
for mouseout
or
marked
events. NB: This function is called from the web page, and therefore all element indices
start from zero as it happens in JavaScript.
ID of the chart.
ID of the layer. You can print IDs of all charts and their layers with listCharts
.
Type of event. Must be one of "click"
, "mouseover"
, "mouseout"
, "marked"
,
"labelClickRow"
, "labelClickCol"
, "clickPosition"
.
ID of the session (opened client page) that triggered the event. The default value uses a local session
variable. This must be a single session ID. You can get a list of IDs of all currently active with the
method getSessionIds
inherited from class App
by LCApp
. Possible errors in the evaluation of
this argument are ignored.
Object of class LCApp
for which the event was triggered. Note that this argument is here for
internal use, and its default value is a variable stored in each session locally. If you are not using wrapper functions,
it is preferred to call method chartEvent
of an object of class LCApp
.
if (FALSE) x <- rnorm(50)
lc_scatter(x = x, y = 2*x + rnorm(50, 0.1), on_click = function(d) print(d))
chartEvent(51, "Chart1", "Layer1", "click")
Run the code above in your browser using DataLab