1
我想在Rmarkdown文檔中創建一個閃亮的情節,其中點的顏色取決於鼠標指針(懸停)。但是,所需的繪圖只會出現幾分之一秒,直到輸入列表的懸停元素再次設置爲NULL
。爲什麼是這樣?基於懸停在R光標和Rmarkdown上的點顏色
例子:
---
title: "Untitled"
runtime: shiny
output: html_document
---
```{r,echo=FALSE}
library(ggplot2)
x <- rnorm(100)
y <- rnorm(100)
dfr <- data.frame(x, y)
give_col <- function(){
if(is.null(input$hover$y)){
rep(2, length(x))
}else{
(input$hover$y < dfr$y) + 1
}}
imageOutput("image_id", hover = "hover")
textOutput("text_id")
output$image_id <- renderPlot({
plot(dfr$x, dfr$y, col = factor(give_col()))
# plot(dfr$x, dfr$y) # Without col the give_col() element remains
# as can be seen in the output text
})
output$text_id <- reactive({paste(give_col())})
```
如果去掉劇情的顏色部分,文本輸出行爲與預期相同,所以我想它必須與繪製本身(同樣的東西pch
,而不是col
或而不是plot()
)。
任何幫助,將不勝感激。
感謝您的快速,簡單和對這點的回答! – user1965813
爲什麼更改'input $ hover'的重新繪圖不會觸發'observeEvent'? (這將意味着,「observeEvent」從簡單的廢票的工作方式不同,豈不?) 答案都可以找到[這裏](https://shiny.rstudio.com/reference/shiny/latest/observeEvent.html) – user1965813