Plotlyは、プロットのポイントのクリックに応答するevent_data関数を持っています。ただし、監視するプロットを識別するevent_dataの「ソース」を指定する必要があります。R - ggplot:クリックされたグラフのIDを取得
この種類の機能はggplotでも利用できますか?そうでなければ、クリックされたプロットのIDをどのように見つけることができますか?
注:グラフとしてワードクラウドを参照しており、これらのグラフは動的に生成されます。
Plotlyは、プロットのポイントのクリックに応答するevent_data関数を持っています。ただし、監視するプロットを識別するevent_dataの「ソース」を指定する必要があります。R - ggplot:クリックされたグラフのIDを取得
この種類の機能はggplotでも利用できますか?そうでなければ、クリックされたプロットのIDをどのように見つけることができますか?
注:グラフとしてワードクラウドを参照しており、これらのグラフは動的に生成されます。
を助けチェックし、最小限の例ですホーププロットがクリックされます。無効な値selected_plot
は、クリックイベントが発生するたびに更新されます。
library(shiny)
ui = fluidPage(
verbatimTextOutput("text"),
plotOutput("plot1", click = "plot1_click"),
plotOutput("plot2", click = "plot2_click")
)
server = function(input, output, session){
output$plot1 = renderPlot({
hist(rnorm(1000))
})
output$plot2 = renderPlot({
plot(cumsum(rnorm(1000)))
})
selected_plot = reactiveVal()
observeEvent(input$plot1_click, {selected_plot(1)})
observeEvent(input$plot2_click, {selected_plot(2)})
output$text = renderPrint({
cat("selected plot:", selected_plot())
})
}
shinyApp(ui, server)
あなたもrenderPlot
のoutputArgs
引数を使用して、サーバー側でclick
オプションを指定することができます。
あなたがevent_data()
機能をあなたはそれを作成した後ggplotly(<yourplot>)
を呼び出すplotly
-graphにごggplot
グラフを変換して使用することができます。
library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- ggplot(data = d, aes(x = carat, y = price)) + geom_point()
ggplotly(p)
実際にグラフとしてワードクラウドを使用しており、それをプロットに変換したくありません。 – Lok
それはどんな例なしで説明するのは難しいです。しかし、あなたはgeom_point_interactive
にgeom_point
を変更し、後でこのようなものを使用することができますggiraph
パッケージへShiny
のおかげで、あなたの仕事:
selected_dot <- reactive({
input$plot_selected
})
が、それはここで少し
はい、可能です。 Look [here](https://shiny.rstudio.com/gallery/plot-interaction-selecting-points.html) –
いいえ、これは私が望むものではありません。例:5つのプロットがあり、そのうちの1つをクリックすると、そのクリックされたグラフのIDが必要です。 – Lok
だから、あなたは大きなプロダクトボタンのように各プロットを扱いたいですか? –