library(shiny)
## Warning: package 'shiny' was built under R version 4.2.2
library(shinydashboard)
## Warning: package 'shinydashboard' was built under R version 4.2.2
##
## Attaching package: 'shinydashboard'
## The following object is masked from 'package:graphics':
##
## box
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
# Load data
data <- read.csv("C://Users//20BDS0364//Desktop//SynchronousMachine.csv")
# UI
ui <- dashboardPage(
dashboardHeader(title = "Synchronous Machine Dashboard"),
dashboardSidebar(
selectInput("x_var", label = "X-axis variable", choices = names(data), selected = "PF"),
selectInput("y_var", label = "Y-axis variable", choices = names(data), selected = "I_f"),
selectInput("color_var", label = "Color variable", choices = names(data), selected = "P_out"),
selectInput("bin_var", label = "Bin variable", choices = names(data), selected = "V"),
sliderInput("bins", label = "Number of bins", min = 10, max = 50, value = 20)
),
dashboardBody(
fluidRow(
box(plotOutput("scatterplot", height = 500))
),
fluidRow(
box(title = "Data Table", width = 12, solidHeader = TRUE,
dataTableOutput("datatable"))
),
fluidRow(
box(plotOutput("heatmap", height = 500))
)
)
)
# Server
server <- function(input, output) {
# Create scatter plot
output$scatterplot <- renderPlot({
ggplot(data, aes_string(x = input$x_var, y = input$y_var, color = input$color_var)) +
geom_point() +
xlab(input$x_var) +
ylab(input$y_var) +
scale_color_gradient(low = "blue", high = "red")
})
# Create data table
output$datatable <- renderDataTable({
data
})
# Create heat map
output$heatmap <- renderPlot({
ggplot(data, aes_string(x = input$x_var, y = input$y_var)) +
geom_bin2d(bins = input$bins) +
scale_fill_gradient(low = "white", high = "red") +
xlab(input$x_var) +
ylab(input$y_var)
})
}
# Run the app
shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents