Я пишу блестящее приложение, которое создает полигоны на основе ввода с ползунка. Код здесь
SATmean=1000
SATsd=200
Score <- round ((seq(-3,3,length=120)*SATsd + SATmean), -1)
y <- dnorm(Score,SATmean,SATsd)
percentile <- round(pnorm((Score-mean)/sd)*100,2)
ui <- fluidPage (
plotOutput (outputId = "graph"),
sliderInput (inputId = "SATscore",
label = "Select your SAT score", step = 10,
value = 1200, min = 400, max = 1600)
)
server <- function(input,output){
output$graph <- renderPlot({
plot(Score, y, type="l")
polygon(c(Score[Score>=input$SATscore],rev(Score[Score>=input$SATscore])),
c(rep(0,length(Score[Score>=input$SATscore])),rev(y[Score>=input$SATscore])),col="skyblue")
polygon(c(Score[Score<=input$SATscore],rev(Score[Score<=input$SATscore])),
c(rep(0,length(Score[Score<=input$SATscore])),rev(y[Score<=input$SATscore])),col="magenta")
})
}
shinyApp(ui = ui, server = server)
Этот код работает отлично, за исключением одного исключения. Между парами многоугольников есть промежуток, когда для ползунка установлено среднее значение 1000. Я понятия не имею, почему это происходит, поскольку любая другая пара многоугольников работает отлично.