在底部发布的几乎是MWE的代码中,我试图将一个自定义图像拉到plot header中。在完整的应用程序中,用户点击图像以触发解释性模态对话框。然而,在这种情况下,我无法将图像呈现在plot header中。在其他情况下,这对我来说很好,我使用renderUI()
,但是在这个例子中,我试图在renderPlot()
函数中渲染图像。下面的图像比这些文字解释得更好。有没有办法在renderPlot()
中做到这一点?
MWE代码:
library(shiny)
library(survival)
### define function ###
weibSurv <- function(t, shape, scale) pweibull(t, shape=shape,scale=scale, lower.tail=F)
ui <- fluidPage(
selectInput("distSelect","Select distribution:",c("Weibull","Gamma")),
sliderInput('shape','Adjust shape:',min=0,max=3,step=0.1,value=1.5),
plotOutput("plot")
)
server <- function(input, output, session) {
output$plot <- renderPlot({
curve(
weibSurv(x, shape=input$shape,scale=1/0.03),
from=0, to=80,
main =
fluidRow(
paste(input$distSelect), # leave paste, actual App has more objects to include here
tags$button(
id = "explainBtn",
class = "btn action-button",
tags$img(src = "https://images.plot.ly/language-icons/api-home/python-logo.png")
)
)
)
})
}
shinyApp(ui, server)
2条答案
按热度按时间baubqpgj1#
在这个场景中,我会使用shiny的
actionLink
:gwbalxhn2#
对于任何喜欢
renderUI
的人,这里有一个解决方案,尽管我会遵从ismirsehregal上面的actionLink()
解决方案,因为它更干净。