2016-11-24 2 views
1

私はscatterd3(package scatterd3)プロットを光沢のあるアプリに持っています。プロットされたポイントを光沢のあるものに戻した後に情報を渡す方法はわかりません。このウェブサイトはそれを説明するようだが、私はちょうどそれを得ることはできません。 https://cran.r-project.org/web/packages/scatterD3/vignettes/introduction.html#javascript-callback-on-clicking-pointR ShinyはscatterD3のクリック情報を取得します

scatterD3(data = mtcars, x = wt, y = mpg, 
    click_callback = "function(id, index) { 
    if(id && typeof(Shiny) != 'undefined') { 
     Shiny.onInputChange(id + '_selected', index); 
    } 
}") 

クリックに関する情報が格納されている場所あなたが知っていますか?

verbatimTextOutput("scatterPlot$index") 

任意のアイデア:私はこのようなもので光沢のあるGUIでそれを呼び出すことができます仮定しましたか? 歓声

答えて

3

click_callbackclick_callback JavaScript関数は、プロット固有のIDとクリックされたポイントインデックスの2つの引数で呼び出されます。 Shiny.onInputChangeを使用すると、Shiny inputスロットを値にバインドしてデータを取得できます。例えば

、以下click_callback機能付き:

scatterD3(data = mtcars, x = wt, y = mpg, 
    click_callback = "function(id, index) { 
    if(id && typeof(Shiny) != 'undefined') { 
     Shiny.onInputChange('selected_point', index); 
    } 
}") 

あなたのような何かを行うことができる必要があります:

verbatimTextOutput(paste("Index of clicked point : ", input$selected_point)) 

これはscatterD3でかなり最近の機能ですが、バグの場合のように機能が不足している場合は、open an issue on Githubまでお気軽にお問い合わせください。

+0

おかげで、私はよ私の質問への返信にいくつかの詳細を追加する – Mark

1

上記のjubaの回答は多くの助けとなりました。 は、私は私のサーバーでは、このようにそれについて行き、numericInputフィールドを更新したい:

私のGUIの私のnumericInputだった
observe({ 
    click_index <- input$selected_point 
    updateNumericInput(session, "numeric1", value=click_index) 
}) 

:私は並べ替えられてしまった

numericInput("numeric1", "Clicked point index :", value=0) 
関連する問題