闪亮/降价中的反应性问题

时间:2020-12-30 14:01:04

标签: shiny reactive

我试图在 HTML Markdown 文档中包含一个交互式块,使用以下代码,如果我选择并运行 UI、服务器和 ShinyApp 部分,我会得到想要的结果,但如果我渲染编织完整代码,我获取冻结图像,但我无法在选项中进行选择,如何在 HTML 文档中获取响应版本?


title: "无题" 作者:“马丁” 日期:“29/12/2020” 输出:html_document

knitr::opts_chunk$set(echo = TRUE)
library(htmltools)
library(tidyverse)
library(shiny)
PuntoB<-c(1,3,6,10)
BN<-data.frame(Fecha=seq(1,10),Plazo3=rnorm(10,7.8,2),Plazo5=rnorm(10,7.8,2),Plazo7=rnorm(10,7.8,2),Plazo10=rnorm(10,7.8,2),Plazo20=rnorm(10,7.8,2),Plazo30=rnorm(10,7.8,2))
ui <-fluidPage(
     fluidRow(
    (checkboxGroupInput("Plazos",
                        h3("Plazos BONOS  "),
                        choices=list("Plazo 3"=1,
                                     "Plazo 5"=2,
                                     "Plazo 10"=3,
                                     "Plazo 20"=4,
                                     "Plazo 30"=5),
                        selected=1))
    
  ),
 
  plotOutput(outputId = "Plazo")
  
)

server<-function(input,output){
  Color=character()
  Leyenda=character()
  output$Plazo <-renderPlot({
    plot(rep(5,length(BN$Plazo3)),type="l",col="red",xaxt="none",ylab="Tasa",xlab="Fecha",main="Historico Bondes",ylim=c(0,20))
axis(1, at=PuntoB,labels=BN$Fecha[PuntoB])
if(1 %in% input$Plazos) {lines(BN$Plazo3,type="l",col="magenta",pch=19,cex=.8)
  Color<-"magenta"
  Leyenda<-"Plazo 3"}
if(2 %in% input$Plazos) {lines(BN$Plazo5,type="l",col="blue",pch=19,cex=.8)
  Color<-c(Color,"blue")
  Leyenda<-c(Leyenda,"Plazo 5")}
if(3 %in% input$Plazos) {lines(BN$Plazo10,type="l",col="green",pch=19,cex=.8)
  Color<-c(Color,"green")
  Leyenda<-c(Leyenda,"Plazo 10")}
if(4 %in% input$Plazos) {lines(BN$Plazo20,type="l",col="orange",pch=19,cex=.9)
  Color<-c(Color,"orange")
  Leyenda<-c(Leyenda,"Plazo 20")}
if(5 %in% input$Plazos) {lines(BN$Plazo30,type="l",col="purple",pch=19,cex=.9)
  Color<-c(Color,"purple")
  Leyenda<-c(Leyenda,"Plazo 30")}
# abline(h=5,col="red")
legend("topright", legend=Leyenda,
       col=Color, lty=1,cex=1)
  })
}

shinyApp(ui=ui,server=server)

0 个答案:

没有答案