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