Joonistab funktsiooni

show with app
  • app.R
library(shiny)
library(ggplot2)

x=seq(-6,6,1)

# Define UI for application that draws a histogram
ui <- fluidPage(
   
   # Application title
   titlePanel("Joonistab funktsiooni"),
   sidebarLayout(
      sidebarPanel(
         textInput("minufunktsioon",
                     "Kirjuta funktsioon, nt y=2*x, y=-4/x",
                     value = "y=4/x")
      ),
      # Show a plot of the generated distribution
      mainPanel(
         plotOutput("joonis", width = 800, height = 600)
      )
   )
)
server <- function(input, output) {
  output$joonis <- renderPlot({
     #minufunktsioon = "y=4/x"
    req(input$minufunktsioon)
    
    eval(parse(text=input$minufunktsioon))
     minuandmed=data.frame(cbind(y,x))
     is.na(minuandmed) <- sapply(minuandmed, is.infinite)
     ggplot(data=minuandmed, aes(x=x, y=y)) +
       geom_line()+
       geom_point() +
       scale_x_continuous(breaks = seq(-6,6,1), labels = seq(-6,6,1)) +
       geom_hline(yintercept=0) + geom_vline(xintercept=0)+
       geom_text(aes(label=round(y,2)), vjust=-1)
   })
}

# Run the application 
shinyApp(ui = ui, server = server)