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)