Je me demandais si je pouvais obtenir des données de lignes en utilisant nearPoints()
à partir d'un graphique interactif avec une entrée de curseur. Mon fichier app.R ressemble:Ships nearPoints() avec entrée de curseur
library('shiny')
library('ggplot2')
dt <-read.csv('file.csv')
ui <- fluidPage(
plotOutput("plot1", height = 550, click = "plot1_click"),
fluidRow(
column(3,
sliderInput("Obs", "Number of Books", min = 1, max = nrow(up), value = 50)
),
column(3, offset = 3,
h4("Legends"),
verbatimTextOutput("selected")
)
)
)
server <- function(input, output) {
mydata <- reactive({
dt[1:as.numeric(input$Obs),]
})
output$plot1 <- renderPlot({
test <- mydata()
ggplot(data = test, aes(x = test[,2], y = test[,1])) + geom_point()
})
output$selected <- renderPrint({
file <- mydata()
nearPoints(file, input$plot1_click, threshold = 10, maxpoints = 1,
addDist = FALSE)
})
}
shinyApp(ui = ui, server = server)
Brillant nearPoints()
fonctionne parfaitement sans cette entrée de curseur. Lorsque j'ai utilisé l'entrée de curseur, je ne peux pas obtenir les données de ligne jusqu'à max. Y a-t-il une approche pour travailler avec l'entrée curseur? Toute aide est appréciée.
Avez-vous essayé avec renderUI? – amrrs
Juste pour vérifier que je comprends, vous voulez que la valeur de 'input $ plot1_click' soit utilisée dans votre' sliderInput'? Si c'est ce que vous voulez, vous devrez déplacer votre fonction 'sliderInput' dans une fonction de sortie' renderUI' à l'intérieur de votre 'server.R'. Vous pouvez ensuite le rendre dans 'ui.R' avec' uiOutput'. Voici la [documentation pertinente] (https://shiny.rstudio.com/reference/shiny/latest/renderUI.html) –
L'entrée du curseur est "Obs", et elle contrôle le nombre de lignes à transmettre à la fonction. "input $ plot1_click" est le point où la souris a cliqué. –